轉(zhuǎn)載自:https://www.cnblogs.com/huhongy/p/9570608.html
服務(wù)調(diào)用:
指的是注冊(cè)到服務(wù)端上的客戶端之間數(shù)據(jù)的相互調(diào)用問題:服務(wù)與服務(wù)的通訊是基于http restful的
服務(wù)直接調(diào)用主要有兩種實(shí)現(xiàn):ribbon ?和 feign
ribbon是實(shí)現(xiàn)負(fù)載均衡的客戶端坑雅,feign是集成ribbon的,后期會(huì)介紹源碼:
ribbon的實(shí)現(xiàn)架構(gòu)原理:
ribbon搭建:
實(shí)際搭建一下:步驟如下
第一步:創(chuàng)建一個(gè)服務(wù)端刺桃,兩個(gè)客戶端准颓,不會(huì)的參考我上節(jié)介紹創(chuàng)建: 端口server-9000 ? client1 -- 9001 ?client 2---9002
第二步:創(chuàng)建ribbon客戶端:創(chuàng)建步驟與創(chuàng)建客戶端基本一種:
區(qū)別是多加一個(gè)ribbon的pom文件:
· 第三步:創(chuàng)建helloServer 目的是調(diào)server-huhy下的服務(wù)接口:
? ?1> ?修改啟動(dòng)類:
2>編寫service ?
第四步:啟動(dòng)服務(wù)和各實(shí)例:
訪問 ??http://localhost:9003/hello?name=huhy ? 接口進(jìn)行測(cè)試:
到這寇甸,ribbon的簡單用法我已經(jīng)演示完畢署尤,后面會(huì)介紹feign的使用
feign搭建:
Feign是一個(gè)聲明式的偽Http客戶端蝶锋,它使得寫Http客戶端變得更簡單挑庶。使用Feign言秸,只需要?jiǎng)?chuàng)建一個(gè)接口并注解软能。它具有可插拔的注解特性,可使用Feign 注解和JAX-RS注解举畸。Feign支持可插拔的編碼器和解碼器埋嵌。Feign默認(rèn)集成了Ribbon,并和Eureka結(jié)合俱恶,默 ? ? ? ?認(rèn)實(shí)現(xiàn)了負(fù)載均衡的效果雹嗦。
? ? 簡而言之:
Feign 采用的是基于接口的注解
Feign 整合了ribbon,具有負(fù)載均衡的能力
整合了Hystrix合是,具有熔斷的能力
第一步:與ribbon的搭建一樣了罪,創(chuàng)建一個(gè)服務(wù)端兩個(gè)服務(wù)端:server-9000 ?client--9001 ?client2--9002
第二步:創(chuàng)建feign項(xiàng)目:
note:上面的包結(jié)構(gòu)后面介紹,主要看pom聪全,我先粘出來泊藕,后面就不再重復(fù)粘貼了
第三步:server包和controller 包配置:
server
controller
這些代碼搭建大致都能看到,我就不單獨(dú)解釋了难礼,