15Spring-Cloud_Eureka-Ribbon-Hystix-Feign-Zuul微服务整合

Posted asndxj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了15Spring-Cloud_Eureka-Ribbon-Hystix-Feign-Zuul微服务整合相关的知识,希望对你有一定的参考价值。

1.一个微服务框架的基本流程

技术图片

 

 2.Eureka                                   --Feign-Zuul

  • Eureka:就是服务注册中心(可以是一个集群),对外暴露自己的地址

  • 提供者:启动后向Eureka注册自己信息(地址,提供什么服务)

  • 消费者:向Eureka订阅服务,Eureka会将对应服务的所有提供者地址列表发送给消费者,并且定期更新

  • 心跳(续约):提供者定期通过http方式向Eureka刷新自己的状态

  • 常见配置
  • #配置自己的端口号
    server:
      port: 10086
    #配置Eureka集群
    eureka:
      client:
        service-url:
          defaultZone: http://127.0.0.1:10087/eureka/
    
    # 指定status是自己指定的ip地址  而不是自己的主机名
      instance:
        prefer-ip-address: true
        ip-address: 127.0.0.1
    
    #配置自己的服务名
    spring:
      application:
        name: eureka-service 

 3.Ribbon

  实际环境中,我们往往会开启很多个user-service的集群。此时我们获取的服务列表中就会有多个,到底该访问哪一个呢?

一般这种情况下我们就需要编写负载均衡算法,在多个实例列表中进行选择。

重启机制

spring:
  cloud:
    loadbalancer:
      retry:
        enabled: true # 开启Spring Cloud的重试功能
user-service:
  ribbon:
    ConnectTimeout: 250 # Ribbon的连接超时时间
    ReadTimeout: 1000 # Ribbon的数据读取超时时间
    OkToRetryOnAllOperations: true # 是否对所有操作都进行重试
    MaxAutoRetriesNextServer: 1 # 切换实例的重试次数
    MaxAutoRetries: 1 # 对当前实例的重试次数

 

 

4.Hystix

Hystix是一个延迟和容错库,用于隔离访问远程服务、第三方库,防止出现级联失败。

当服务繁忙时,如果服务出现异常,不是粗暴的直接报错,而是返回一个友好的提示,虽然拒绝了用户的访问,但是会返回一个结果。

 

 

 

 

 

以上是关于15Spring-Cloud_Eureka-Ribbon-Hystix-Feign-Zuul微服务整合的主要内容,如果未能解决你的问题,请参考以下文章

15.4 InnoDB Architecture

海亮15天总结

第15章 面向对象程序设计 15.1 15.2

14.4 exportfs命令 14.5 NFS客户端问题 15.1 FTP介绍 15.2/15.3

取15分钟周期指标怎么写

poi3.12和3.15冲突