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