Feign

Feign

假设有一个java的json接口,Feign可以将其声明它是以HTTP方式调用。

 

需要服务组件(SAO):

1.注册中心(Eureka):服务发现和注册

应用名称:spring-cloud-eureka-server

服务端口:12345

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接口,重写方法

2.@feignClient(value = "person-service",fallback="newClass")

posted on 2019-06-05 15:32  kinglead  阅读(280)  评论(0编辑  收藏  举报

导航