Spring Cloud 微服務架構學習記錄與示例
Ribbon
Ribbon 是 Netflix開源的基於HTTP和TCP等協議負載均衡組件
Ribbon 可以用來做客戶端負載均衡,調用注冊中心的服務
Ribbon的使用需要代碼里手動調用目標服務,請參考官方示例:https://github.com/Netflix/ribbon
Feign
Feign是Spring Cloud組件中的一個輕量級RESTful
的HTTP服務客戶端
Feign內置了Ribbon,用來做客戶端負載均衡,去調用服務注冊中心的服務。
Feign的使用方式是:使用Feign的注解定義接口,調用這個接口,就可以調用服務注冊中心的服務
Feign支持的注解和用法請參考官方文檔:https://github.com/OpenFeign/feign
Feign本身不支持Spring MVC的注解,它有一套自己的注解
OpenFeign
OpenFeign是Spring Cloud 在Feign的基礎上支持了Spring MVC的注解,如@RequesMapping
等等。
OpenFeign的@FeignClient
可以解析SpringMVC的@RequestMapping
注解下的接口,
並通過動態代理的方式產生實現類,實現類中做負載均衡並調用其他服務。
需要注意:@RequesMapping不能在類名上與@FeignClient同時使用