Feign
假设有一个java的json接口,Feign可以将其声明它是以HTTP方式调用。
需要服务组件(SAO):
1.注册中心(Eureka):服务发现和注册
应用名称:spring-cloud-eureka-server
2.Feign声明接口(锲约):定义一种java强类型接口
例如:person-api
Interface PersonService
3.Feign客户端(服务消费):调用Feign申明接口
创建Controller实现PersonService接口
4.Feign服务端(服务提供):不一定强制实现Feign申明接口
整合Netflix Ribbon
1.关闭Eureka注册
调整person-client:取消@EurekaClient
或者 ribbon.eureka.enable = false
2.定义服务ribbon的服务列表
调整person-service:person-service.ribbon.listofservers:http://localhost:9090
Ribbon
规则IRule
-
随机 RandomRule
-
高可用 BestAvailableRule
-
轮巡 RoundRobinRule
-
重试实现 RetryRule
-
客户端配置 ClientConfigEnableRoundRobinRule
-
可用性过滤规则 AvailabilityFilteringRule
-
RT权重规则 WeightedResponseTimeRule
-
规避区域规则 ZoneAvoidanceRule
实现IRule接口
整合Netflix Hystrix
1.新类newClass实现PersonService接口,重写方法