您好,登錄后才能下訂單哦!
這篇文章主要介紹“如何搭建spring cloud alibaba微服務”,在日常操作中,相信很多人在如何搭建spring cloud alibaba微服務問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”如何搭建spring cloud alibaba微服務”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
1.Feign是一個聲明式WebService客戶端。使用Feign能讓編寫Web Service客戶端更加簡單。使用方法是定義一個服務接口然后在上面添加注解。在實際開發中,由于服務依賴的調用不可能一處使用,往往一個接口會被多處調用,所以通常都會針對每個微服務自行封裝一些客戶端類來包裝這些依賴服務的調用。
2.用我們以前的cloudalibaba-consumer-nacos-order83工程演示作為客戶端
3.pom文件引入openfeign
<!--openfeign--><dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId></dependency>
4.主啟動類:
@SpringBootApplication//@EnableDiscoveryClient@EnableFeignClients //開啟Feignpublic class OrderApplication83 {public static void main(String[] args) { SpringApplication.run(OrderApplication83.class,args); } }
5.編寫對外暴漏借口共調用
6.用我們之前9001和9002為服務提供者,分別啟動這三個服務,并訪問地址:http://127.0.0.1:83/consumer/payment/nacos/1
再次刷新界面
結果證明Openfeign內部支持負載調用。
Openfeign超時控制
1.在端口9001服務中設置超時
2.在83端口服務中進行調用上面添加的接口,并訪問:http://127.0.0.1:83/consumer/payment/feign/timeout
因為feign默認客戶端只等待一秒,但服務端處理需要超過一秒,所以就會出現上面的這個錯誤。
解決辦法:
在yml文件添加如下配置:
#設置feign 客戶端超時時間(openFeign默認支持ribbon)ribbon: #指的是建立連接所用的時間,適用于網絡狀況正常的情況下,兩端連接所用的時間 ReadTimeout: 5000 #指的是建立連接后從服務器讀取到可用資源所用的時間 ConnectTimeout: 5000
Openfeign日志增強
在yml配置文件添加如下配置:
logging: level:#feign日志以什么級別監控哪個接口 com.yxw.springcloud.service.PaymentFeignService: debug
在配置日志bean
@Configurationpublic class FeignConfig {@Bean Logger.Level feignLoggerLevel(){return Logger.Level.FULL; } }
啟動服務訪問接口看控制臺打印如下信息:
到此,關于“如何搭建spring cloud alibaba微服務”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。