服務調用:
指的是注冊到服務端上的客戶端之間數據的相互調用問題:服務與服務的通訊是基於http restful的
服務直接調用主要有兩種實現:ribbon 和 feign
ribbon是實現負載均衡的客戶端,feign是集成ribbon的,后期會介紹源碼:
ribbon的實現架構原理:
ribbon搭建:
實際搭建一下:步驟如下
第一步:創建一個服務端,兩個客戶端,不會的參考我上節介紹創建: 端口server-9000 client1 -- 9001 client 2---9002
第二步:創建ribbon客戶端:創建步驟與創建客戶端基本一種:
區別是多加一個ribbon的pom文件:
· 第三步:創建helloServer 目的是調server-huhy下的服務接口:
1> 修改啟動類:
2>編寫service
第四步:啟動服務和各實例:
訪問 http://localhost:9003/hello?name=huhy 接口進行測試:
到這,ribbon的簡單用法我已經演示完畢,后面會介紹feign的使用
feign搭建:
Feign是一個聲明式的偽Http客戶端,它使得寫Http客戶端變得更簡單。使用Feign,只需要創建一個接口並注解。它具有可插拔的注解特性,可使用Feign 注解和JAX-RS注解。Feign支持可插拔的編碼器和解碼器。Feign默認集成了Ribbon,並和Eureka結合,默 認實現了負載均衡的效果。
簡而言之:
- Feign 采用的是基於接口的注解
- Feign 整合了ribbon,具有負載均衡的能力
- 整合了Hystrix,具有熔斷的能力
第一步:與ribbon的搭建一樣,創建一個服務端兩個服務端:server-9000 client--9001 client2--9002
第二步:創建feign項目:
note:上面的包結構后面介紹,主要看pom,我先粘出來,后面就不再重復粘貼了
第三步:server包和controller 包配置:
server
controller
這些代碼搭建大致都能看到,我就不單獨解釋了,