栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringCloud之Eureka注册中心

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringCloud之Eureka注册中心

SpringCloud之Eureka注册中心

标签(空格分隔): springCloud Eureka Ribbon


Eureka注册中心

服务提供者在启动时,会将每个服务都注册到注册中心,消费者在使用时,会去注册中心拉取服务,然后向提供者发送请求,
服务消费者会利用负载均衡选择调用某个服务
为确保服务是可用的,服务提供者会每30秒向注册中心发送心跳续约,

Eureka依赖引入 服务端依赖
    
        org.springframework.cloud
        spring-cloud-starter-netflix-eureka-server
    
客户端依赖

        org.springframework.cloud
        spring-cloud-starter-netflix-eureka-client
-->
编写启动类

在启动类添加**@EnableEurekaServer**注解

编辑配置文件

需要在配置文件中声明 服务端口,服务名称,注册地址
##服务端配置文件
server.port = 10086 #服务端口号,可随意取
spring.application.name = eurekaServer #服务端名称
eureka.client.service-url.defaultZine = http://localhost:10086/eureka #注册中心地址

客户端配置文件
server.port = 8080
#数据库相关配置
spring.datasource.url = jdbc:mysql://localhost:3306/cloud_order?useSSL=false&&serverTimezone=UTC 
spring.datasource.username = root
spring.datasource.password = root
spring.datasource.driver-class-name = com.mysql.cj.jdbc.driver 
#服务名称
spring.application.name = orderService
#eureka相关配置
eureka.client.service-url.defaultZone = http://localhost:10086/eureka
服务拉取
  1. 修改消费者代码,访问的URL路径,用服务名代替ip,端口
    String url = “http://userService/user/”+order.getUserId()
  2. 在消费者启动类中的RestTemplate添加负载均衡注解,
    @LoadBalanced
Ribbon负载均衡 负载均衡策略

通过定义IRule实现可以修改负载均衡规则,有两种方法
1、 代码方式,在orderservice中的启动类中,定义一个新的IRule(作用于全局,访问每个服务提供者都是随机)

@Bean
public IRule randomRule(){
    return new RandomRule;//随机
}

2、 配置文件方式,在application.yml中添加配置(针对某个微服务)

userservice.ribbon.NFLoadBalancerRuleClassName:com.netflix.loadbalancer.RandomRule
Ribbon饥饿加载

ribbon默认采用懒加载,也就是第一次访问时才会创建LoadBalancerClient,请求时间会很长,饥饿加载会在项目启动的时候创建LoadBalancerClient,降低第一次访问的耗时,设置方法如下

ribbon.eager-load.enable = true
ribbon.eager-load.clients = userservice
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/683224.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号