Feign

Feign

假設有一個java的json接口,Feign能夠將其聲明它是以HTTP方式調用。java

 

須要服務組件(SAO):spring

1.註冊中心(Eureka):服務發現和註冊json

應用名稱:spring-cloud-eureka-serverapi

服務端口:12345dom

2.Feign聲明接口(鍥約):定義一種java強類型接口spa

例如:person-apicode

Interface PersonServiceserver

3.Feign客戶端(服務消費):調用Feign申明接口接口

建立Controller實現PersonService接口 it

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")

相關文章
相關標籤/搜索