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会将对应服务的所有提供者地址列表发送给消费者,并且定期更新
-
心跳(续约):提供者定期通过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微服务整合的主要内容,如果未能解决你的问题,请参考以下文章