spring cloud eureka + feign,api遠程調用


網上教程不少,有些就是復制粘貼,不結合實際生產。

eureka不再闡述。

 

一般正常開發會有多個工程,且多個module。

我的習慣是:

  eureka server、權限、config、gateway 這類插件放在一個工程  --- Server

  其它實際業務                       --- Client

 

Client中會存在於多個module,這些模塊都是單獨的服務,為了服務之間可以互相調用,因此 “接口”是必須單獨一個module,打包被其它模塊所引用。

api模塊僅僅是其它模塊希望開放出來的接口

其它兩個正常理解為業務模塊即可。

具體的實現,閱其名知其意,就是Login模塊所想要開放給其它服務的,並且Login模塊會正常實現該接口(MVC正常實現,不貼圖了)。

其它服務通過Feign調用的接口,ServiceId就是服務提供者的spring.application.name:

 

下圖是Login作為服務提供者的eureka配置:

 

消費者調用:

 

EnableFeignClients,如果是模塊、接口拆分的形式,這里面必須填入接口包名,否則根本無法注入所希望調用的遠程接口。

這就是api形式的feign遠程調用,別告訴我你的服務都在一個模塊,那還用個毛的微服務。

還有一種方式就是自己封裝一個http模塊,都通過該模塊進行遠程調用,那就沒feign啥事了,但需要單獨引入ribbon或者nginx。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM