摘要:使用支持多語言你是否有希望利用和的非語言的靈感來自,它包含一個,用于獲取給定服務的所有實例按主機和端口。要在項目中包含,請使用組為和工件的依賴項。
使用Sidecar支持多語言
你是否有希望利用Eureka、Ribbon和Config Server的非JVM語言?Spring Cloud Netflix Sidecar的靈感來自Netflix Prana,它包含一個HTTP API,用于獲取給定服務的所有實例(按主機和端口)。你還可以通過嵌入式Zuul代理代理服務調用,該代理從Eureka獲取其路由條目,可以通過主機查找或Zuul代理直接訪問Spring Cloud Config Server,非JVM應用程序應實現健康檢查,以便Sidecar可以向Eureka報告應用程序是啟動還是關閉。
要在項目中包含Sidecar,請使用組ID為org.springframework.cloud和工件IDspring-cloud-netflix-sidecar的依賴項。
要啟用Sidecar,請使用@EnableSidecar創建Spring Boot應用程序,此注解包括@EnableCircuitBreaker、@EnableDiscoveryClient和@EnableZuulProxy,在與非JVM應用程序相同的主機上運行生成的應用程序。
要配置Sidecar,請將sidecar.port和sidecar.health-uri添加到application.yml,sidecar.port屬性是非JVM應用程序偵聽的端口,這樣Sidecar可以正確地向Eureka注冊應用程序,sidecar.health-uri是可在非JVM應用程序上訪問的URI,它模仿Spring Boot健康指示器,它應該返回類似于以下內容的JSON文檔:
health-uri-document
{ "status":"UP" }
以下application.yml示例顯示了Sidecar應用程序的示例配置:
server: port: 5678 spring: application: name: sidecar sidecar: port: 8000 health-uri: http://localhost:8000/health.json
DiscoveryClient.getInstances()方法的API是/hosts/{serviceId},以下針對/hosts/customers的示例響應返回在不同主機上的兩個實例:
/hosts/customers
[ { "host": "myhost", "port": 9000, "uri": "http://myhost:9000", "serviceId": "CUSTOMERS", "secure": false }, { "host": "myhost2", "port": 9000, "uri": "http://myhost2:9000", "serviceId": "CUSTOMERS", "secure": false } ]
非JVM應用程序(如果sidecar在端口5678上)可以在http://localhost:5678/hosts/{serviceId}訪問此API。
Zuul代理自動將Eureka中已知的每個服務的路由添加到/
如果配置服務器已在Eureka中注冊,則非JVM應用程序可以通過Zuul代理訪問它,如果ConfigServer的serviceId是configserver且Sidecar在端口5678上,則可以在http://localhost:5678/configserver上訪問它。
非JVM應用程序可以利用Config Server返回YAML文檔的能力,例如,調用http://sidecar.local.spring.io:5678/configserver/default-master.yml可能會導致YAML文檔類似于以下內容:
eureka: client: serviceUrl: defaultZone: http://localhost:8761/eureka/ password: password info: description: Spring Cloud Samples url: https://github.com/spring-cloud-samples
要在使用HTTPs時將健康檢查請求設置為接受所有證書,請將sidecar.accept-all-ssl-certificates設置為true。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/74268.html
摘要:今天的話題是與的開源現狀和未來規劃,我們知道,過去一段時間疏于維護,去年阿里高調宣布重啟開源之后,社區里問的最多的問題是,這次開源與上次有什么一樣,還有就是和是什么關系希望通過這次的分享能夠解答這些問題。 摘要: Dubbo 在過去一段時間疏于維護,去年阿里高調宣布重啟 Dubbo 開源之后,社區里問的最多的問題是,這次開源與上次有什么一樣,還有就是 Dubbo 和 Spring Bo...
摘要:當存在時,負載均衡的和會自動重試任何失敗的請求假設你的配置允許這樣做。啟用包括重試請求,由于請求的緩沖,請求會對服務器的資源產生影響。 重試失敗的請求 Spring Cloud Netflix提供了多種方式來發出HTTP請求,你可以使用負載均衡的RestTemplate、Ribbon或Feign。無論你如何選擇創建HTTP請求,總是有可能請求失敗,請求失敗時,你可能希望自動重試請求,要...
摘要:而微服務架構能否成功實踐,利用各種工具解決潛在問題是關鍵。因此,微服務本身可以通過庫和運行時代理解決客戶端服務發現負載均衡配置更新統計跟蹤等。與相比,解決了更廣的微服務架構問題。和處理了不同范圍的微服務架構技術點,而且是用了不同的方法。 Spring Cloud vs. Kubernetes,誰才是部署微服務的最佳拍檔? Spring Cloud和Kubernetes都聲稱自己是開發和...
摘要:第三種是以為代表的服務網格,通過劫持業務請求的方式實現服務發現和治理。服務網格對于上述服務發現和治理功能,北極星提供統一的控制面和數據面。騰訊業務線眾多,開發語言和框架也眾多,北極星數據面支持多語言和兩種模式。 .markdown-body{word-break:break-word;line-height:1.75;font-weight:400;font-size:15px;overf...
摘要:目前,網易云輕舟微服務平臺已經應用于銀行證券視頻監控物流工業等行業不少中大型企業,幫助其實施微服務化改造,建設符合行業特點的業務中臺,支撐企業數字化戰略的落地。 微服務技術由于天生支持快速迭代、彈性擴展的特點,使企業能夠在不確定性下提升發展速度及抗風險能力,受到了越來越多的關注。當前,云服務商紛紛試水微服務產品,最為典型的,當屬推出輕舟微服務平臺、劍指整個微服務應用生命周期的網易云。 ...
閱讀 2306·2021-11-23 10:09
閱讀 2885·2021-10-12 10:11
閱讀 2594·2021-09-29 09:35
閱讀 1336·2019-08-30 15:53
閱讀 2260·2019-08-30 11:15
閱讀 2904·2019-08-29 13:01
閱讀 2290·2019-08-28 18:15
閱讀 3363·2019-08-26 12:13