SpringCloud之Eureka注册中心

SpringCloud之Eureka注册中心

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


Eureka注册中心

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

Eureka依赖引入

服务端依赖

<!--Eureka服务端-->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
    </dependency>

客户端依赖

<dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>-->

编写启动类

在启动类添加**@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&amp&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负载均衡

Created with Raphaël 2.3.0 order service RibbonLoadBalancerClient DynamicServerListLoadBalancer eureka server IRule RibbonLoadBalabcerClient user service

负载均衡策略

通过定义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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值