簡體   English   中英

PaaS雲(PCF)上的客戶端負載平衡(Ribbon)和服務發現(Eureka)

[英]Client side load balancing (Ribbon) and Service Discovery (Eureka) on PaaS cloud (PCF)

當前,我們將應用程序部署到Pivotal Cloud Foundry(PCF),后者在平台即服務(PaaS)模型中運行。

這意味着每當我們將應用程序部署到PCF時,PCF就會自動(除了它執行的其他操作)設置負載平衡器,將請求轉發到所需數量的自動設置的實例。

考慮到這一點,是否可以在PaaS雲中使用客戶端負載平衡器(例如Ribbon),以便應用程序的客戶端直接與運行您的應用程序的實例(而不是負載平衡器)聯系? 如果是,有什么好處?

另一個相關的問題是,如果我所有的服務都遵循相同的命名約定,例如myapp-service ,因此可以在https://myapp-service.cfapps.io下使用,那么在以下位置設置服務發現服務(例如Eureka)有什么好處? PaaS雲?

考慮到這一點,是否可以在PaaS雲中使用客戶端負載平衡器(例如Ribbon),以便應用程序的客戶端直接與運行您的應用程序的實例(而不是負載平衡器)聯系? 如果是,有什么好處?

你當然可以。 如果您在PCF上使用映射到應用程序的路由,則只需要一個帶有一台服務器的客戶端負載平衡器,這樣就不會真正增加任何好處。

如果您使用的是客戶端負載平衡器和Cloud Foundry的“容器到容器”網絡,那么會發現更多的好處。 使用C2C,您可以直接與其他應用對話。 在這種情況下,需要注冊表,因此您可以找到服務應用程序。

這篇博客文章介紹了使用SCS和C2C的基本示例(適用於PWS,但可以在具有C2C的任何PCF環境中使用)。

https://content.pivotal.io/blog/building-spring-microservices-with-cloud-foundrys-new-container-networking-stack

另一個相關的問題是,如果我所有的服務都遵循相同的命名約定,例如myapp-service,因此可以在https://myapp-service.cfapps.io下使用,那么在以下位置設置服務發現服務(例如Eureka)有什么好處? PaaS雲?

我認為問題是您的應用如何找到myapp-service.cfapps.io 如果您有一個使用一項服務的應用程序,則使用該URL配置該應用程序或者通過一個env變量甚至是一個用戶提供的綁定服務來傳遞該應用程序並不難。 問題解決了。

當您開始獲得很多服務時,“手數”是任意多的,要管理起來就很麻煩。 當您達到這一點時,使用服務注冊表將使生活更輕松。 並不是說您不能在一個應用程序/一個服務場景下使用服務注冊表,這可能並不是一個很大的優勢。

如上所述,使用服務注冊表的另一個優勢是使用C2C網絡。 在這種情況下,您需要一些東西來在容器網絡上定位服務。 SCS注冊表將執行此操作。

值得一提的是,如果您使用的是最新版本的CF,則實際上是通過DNS提供了平台提供的服務發現。 如果可用,這也可用於查找服務實例。 有關詳細信息,請參見此處。

https://www.cloudfoundry.org/blog/polyglot-service-discovery-container-networking-cloud-foundry/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM