Spring cloud 微服务(二)---- eureka注册、Ribbon重试

目录

一、eureka 注册与发现

(一)、搭建eureka注册中心 

1.新建 spring 模块:sp05-eureka

2.添加选择 Eureka Server 依赖

3.pom.xml  调整版本

4.配置 application.yml

5.启动类的注解: @EnableEurekaServer

6.修改系统 hosts 文件,添加 eureka 域名映射

7.测试:

(二)、service provider 服务提供者  ---- eureka客户端

 1.修改 item-service、user-service、order-service,把微服务注册到 eureka 服务器

2.启动,并访问 eureka 查看注册信息:

3.eureka四条运行机制

(三)、eureka 和 “服务提供者”的高可用

1.item-service 高可用

1)配置启动参数

2)启动测试

 2.eureka 高可用

1)添加两个服务器的 profile 配置文件

2)配置启动参数 --spring.profiles.active 和 --server.port

3) 访问 eureka 服务器,查看注册信息

3.实现04order-service ,远程调用商品和用户

1)订单添加Feign类,用Feign的声明式客户端接口做远程调用,(代替hystrix+ribbon)

 2)pom.xml 添加依赖 OpenFeign 和 sp01-commmons 依赖

3)appliacation.yml  

 4)主程序添加  @EnableFeignClients

5)feign类 定义两个客户端接口

6)修改 OrderServiceImpl 完成远程的调用

(四) Ribbon 重试

失败:

重试参数:


一、eureka 注册与发现

注册中心:微服务系统的核心服务

  • 所有模块启动,都想注册中心注册
  • 模块之间互相调用,要从注册中心互相发现
  • 常用的注册中心:nacos、eureka、zookeeper、etcd、consul.......

eureka注册中心

(一)、搭建eureka注册中心 

1.新建 spring 模块:sp05-eureka

2.添加选择 Eureka Server 依赖

3.pom.xml  调整版本

  • spring boot: 2.3.2.RELEASE
  • springcloud: Hoxton.SR6

4.配置 application.yml

  • 禁用自我保护模式
  • 主机名
  • 针对单台服务器,不向自己注册,不从自己拉取
spring:
  application:
    name: eureka-server
    
server:
  port: 2001
  
eureka:
  server:
    enable-self-preservation: false   #禁用自我保护
  instance:
    hostname: eureka1     #主机名
  client:
    register-with-eureka: false     #不向自己注册
    fetch-registry: false       #不从自己拉取
  

5.启动类的注解: @EnableEurekaServer

  • 通过注解来触发自动配置

6.修改系统 hosts 文件,添加 eureka 域名映射

  • C:\Windows\System32\drivers\etc\hosts
  • 添加内容:
    127.0.0.1       eureka1
    127.0.0.1       eureka2
    

7.测试:

 eureka

(二)、service provider 服务提供者  ---- eureka客户端

eureka注册中心

 1.修改 item-service、user-service、order-service,把微服务注册到 eureka 服务器

  1. 添加 eureka client 依赖     (点击pom.xml,alt+insert  用 STS 工具编辑起步依赖)编辑起步依赖
  2. application.yml 添加配置 eureka 服务器连接地址
    eureka:
      client:
        service-url:
          defaultZone: http://eureka1:2001/eureka
    
  3. (可选) 启动类添加 @EnableDiscoveryClient

2.启动,并访问 eureka 查看注册信息

eureka

3.eureka四条运行机制

  1. 注册: 客户端会一次一次反复连接服务器进行注册,直到注册成功为止

  2. 拉取 :客户端每30秒拉取一次注册表,来刷新注册表

  3. 心跳 :客户端每30秒发送一次心跳,如果服务器连续三次收不到一个服务的心跳,会删除这个服务

  4. 自我保护模式

  • 由于网络不稳定,网络中断,15分钟内,85%服务器出现心跳异常,就会进入自我保护模式
  • 在这种特殊情况下,所有服务都不删除
  • 网络恢复正常后,可以自动退出保护模式
  • 开发调试期间,可以禁用保护模式,避免影响测试

(三)、eureka 和 “服务提供者”的高可用

eureka和item高可用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值