春云边车
我有一個(gè)部署到基于NetflixOSS的云的應(yīng)用程序,該應(yīng)用程序具有以下結(jié)構(gòu):
本質(zhì)上是一種將信息持久保存到Cassandra群集的服務(wù)。 所有應(yīng)用程序都已注冊(cè)到Eureka –因此,在本例中,該服務(wù)以及Cassandra節(jié)點(diǎn)都已在Eureka中注冊(cè),此外,該服務(wù)還通過(guò)Eureka查找節(jié)點(diǎn),從而連接到Cassandra集群。
我將分兩部分處理:
向Eureka注冊(cè)Cassandra節(jié)點(diǎn)
這是Sidecar應(yīng)用程序適合的地方– Sidecar的目的是促進(jìn)使應(yīng)用程序在Cloud環(huán)境中成為良好公民的某些事情,在這種特定情況下,它使Cassandra能夠在Eureka注冊(cè)并響應(yīng)健康檢查。 Spring Cloud Netflix Sidecar項(xiàng)目為創(chuàng)建Sidecar應(yīng)用程序提供了必要的支持。
啟用和運(yùn)行Sidecar應(yīng)用程序所需的編碼量非常少,Sidecar的行為類似于典型的Spring Cloud應(yīng)用程序,只是它不需要注冊(cè)自己到Eureka,而必須注冊(cè)另一個(gè)應(yīng)用程序,因此配置基本相同。
這是我用于Sidecar應(yīng)用程序的全部代碼!:
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);} }以及與此相關(guān)的屬性:
application.yml
eureka:instance:virtual-host-name: samplecassandra.vipspring:application:name: samplecassandrasidecar:port: 9042在此,該端口被聲明為與Cassandra相關(guān)的端口。
健康檢查還有一個(gè)方面需要處理,Sidecar公開了一個(gè)端點(diǎn),該端點(diǎn)可以測(cè)試受支持應(yīng)用程序的運(yùn)行狀況,無(wú)論該應(yīng)用程序是否有意義。 對(duì)于Cassandra,它可以連接到本地節(jié)點(diǎn)并觸發(fā)一個(gè)小的CQL查詢。
結(jié)論
假設(shè)現(xiàn)在已在Eureka中注冊(cè)了Cassandra節(jié)點(diǎn),嘗試在消費(fèi)服務(wù)端創(chuàng)建Cassandra會(huì)話的復(fù)雜程度很高,這主要是由于實(shí)例化Eureka客戶端所涉及的時(shí)間以及代碼嘗試查找節(jié)點(diǎn)列表。 我將在后續(xù)文章中介紹。 如果您想進(jìn)一步探索該示例,請(qǐng)?jiān)L問(wèn)github repo。
翻譯自: https://www.javacodegeeks.com/2015/09/spring-cloud-sidecar.html
總結(jié)
- 上一篇: 安卓免广告软件(安卓免广告)
- 下一篇: activemq端口好_ActiveMQ