春云边车
我有一個部署到基于NetflixOSS的云的應用程序,該應用程序具有以下結構:
本質上是一種將信息持久保存到Cassandra群集的服務。 所有應用程序都已注冊到Eureka –因此,在本例中,該服務以及Cassandra節點都已在Eureka中注冊,此外,該服務還通過Eureka查找節點,從而連接到Cassandra集群。
我將分兩部分處理:
向Eureka注冊Cassandra節點
這是Sidecar應用程序適合的地方– Sidecar的目的是促進使應用程序在Cloud環境中成為良好公民的某些事情,在這種特定情況下,它使Cassandra能夠在Eureka注冊并響應健康檢查。 Spring Cloud Netflix Sidecar項目為創建Sidecar應用程序提供了必要的支持。
啟用和運行Sidecar應用程序所需的編碼量非常少,Sidecar的行為類似于典型的Spring Cloud應用程序,只是它不需要注冊自己到Eureka,而必須注冊另一個應用程序,因此配置基本相同。
這是我用于Sidecar應用程序的全部代碼!:
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.sidecar.EnableSidecar;@SpringBootApplication @EnableSidecar public class SampleSidecarApplication {public static void main(String[] args) {SpringApplication.run(SampleSidecarApplication.class, args);} }以及與此相關的屬性:
application.yml
eureka:instance:virtual-host-name: samplecassandra.vipspring:application:name: samplecassandrasidecar:port: 9042在此,該端口被聲明為與Cassandra相關的端口。
健康檢查還有一個方面需要處理,Sidecar公開了一個端點,該端點可以測試受支持應用程序的運行狀況,無論該應用程序是否有意義。 對于Cassandra,它可以連接到本地節點并觸發一個小的CQL查詢。
結論
假設現在已在Eureka中注冊了Cassandra節點,嘗試在消費服務端創建Cassandra會話的復雜程度很高,這主要是由于實例化Eureka客戶端所涉及的時間以及代碼嘗試查找節點列表。 我將在后續文章中介紹。 如果您想進一步探索該示例,請訪問github repo。
翻譯自: https://www.javacodegeeks.com/2015/09/spring-cloud-sidecar.html
總結
- 上一篇: 安卓免广告软件(安卓免广告)
- 下一篇: 怎么查看是否被ddos攻击(怎么查看是否