spring cloud API网关
為什么?
微服務(wù)有很多,比如
購物車服務(wù)
訂單服務(wù)
目錄服務(wù):商品基本信息
評論服務(wù)
庫存服務(wù)
送貨服務(wù)
推薦服務(wù)
等等,
如果客戶端(前端)調(diào)用相關(guān)服務(wù)時,就必須知道每個微服務(wù)的ip,端口,微服務(wù)的數(shù)量越來越多,上百個微服務(wù),客戶的就比較困難,此時可以使用 API GetWay
,API 網(wǎng)關(guān)是一個服務(wù)器,也可以說是進(jìn)入系統(tǒng)的唯一節(jié)點(diǎn)。這與面向?qū)ο笤O(shè)計(jì)模式中的 Facade 模式很像。API 網(wǎng)關(guān)封裝內(nèi)部系統(tǒng)的架構(gòu),并且提供 API 給各個客戶端.
zuul: 是一個api getWay
spring:application:name: microservice-gateway-zuul server:port: 8040 eureka:client:service-url:defaultZone: http://user:password123@localhost:8761/eurekainstance:prefer-ip-address: true hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds: 60000 #ribbon: # ConnectTimeout: 3000 # ReadTimeout: 60000 zuul:routes:user:path: /user/**service-id: microservice-provider-user ribbon:eureka:enabled: false microservice-provider-user:ribbon:listOfServers: http://localhost:7900,http://localhost:7901 Eureka 心跳檢查 30s,默認(rèn)檢測90s,踢出已關(guān)閉節(jié)點(diǎn)
由于Eureka自我保護(hù),心跳周期長,會出現(xiàn)已經(jīng)關(guān)閉的節(jié)點(diǎn)在Eureka上還正常顯示的情況,如何解決:
server:enable-self-preservation: true# 設(shè)為false,關(guān)閉自我保護(hù)eviction-interval-timer-in-ms: 60000多網(wǎng)卡環(huán)境下Eureka選擇的問題
選擇規(guī)則:合法ip,索引值最小(eth0,eth1,eth2等等按這個順序),并且沒有在忽略列表中配置的網(wǎng)卡作為服務(wù)ip。
阿里云服務(wù)器,docker上會存在多個網(wǎng)卡的情況,如何解決:
服務(wù)感知慢
一個服務(wù)啟動后最長可能需要2分鐘時間才能被其他服務(wù)感知,默認(rèn)30s,在生產(chǎn)環(huán)境中不要改這個值,但在測試環(huán)境可以通過
eureka.instance.leaseRenewallntervallnSeconds來設(shè)置
轉(zhuǎn)載于:https://www.cnblogs.com/luleiitlife/p/8544971.html
總結(jié)
以上是生活随笔為你收集整理的spring cloud API网关的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BZOJ1415 [Noi2005]聪聪
- 下一篇: SQL SERVER 2008如何卸载干