Spring Cloud 2.x serisi devre kesici kümesi izleme Türbini
Devre kesici grubu izleme Türbin
Önceki makaleler tek bir hizmet örneğinin izlenmesini uygulamıştır.Tabii ki, gerçek uygulamalarda, tek bir örneğin izleme verisi çok değerli değildir. Aslında ihtiyacımız olan şey bir küme sisteminin izleme bilgisidir. Şu anda Türbin'i tanıtmamız gerekiyor. Türbin, izleme bilgilerini bir araya getirebilir ve toplu bilgileri, merkezi görüntüleme ve izleme için Hystrix Dashboard'a sağlayabilir.
Bu makale, daha önce öğrenilen kayıt defteri Eureka, servis sağlayıcı, devre kesici Hystrix ve gösterge panosu Dashboard'u birleştirerek devre kesici kümesi izleme Türbinini öğrenecektir. Nihai genel mimari aşağıdaki gibidir:
proje talimatı:
Kayıt Merkezi:
sc-eureka-sunucusu
Servis sağlayıcıları:
sc-sunucu-türbin-hystrix-dashboard-node1
sc-sunucu-türbin-hystrix-dashboard-node2
Hizmet tüketicileri, devre kesiciler:
sc-client-turbine-hystrix-dashboard-node1
sc-müşteri-türbin-hystrix-dashboard-node2
Küme izleme, gösterge tablosu:
sc-müşteri-türbin-hystrix
1. Kayıt merkezi projesi sc-eureka-server, Spring Cloud 2.x serisinin bağımsız eureka kayıt merkezini ifade eder
2. Hizmet sağlayıcı projesi sc-server-turbine-hystrix-dashboard-node1, sc-server-turbine-hystrix-dashboard-node2, sc-eureka-client-provider projesinden dönüştürülür. Spring Cloud 2.x serisinin hizmet kayıt hizmeti sağlayıcısına başvurun
sc-server-turbine-hystrix-dashboard-node1:
sc-server-turbine-hystrix-dashboard-node2:
3. Hizmet tüketicileri ve devre kesici projeleri sc-istemci-türbin-hystrix-dashboard-node1 ve sc-client-türbin-hystrix-dashboard-node2, sc-feign-hystrix-dashboard projesinden dönüştürülür.
sc-client-turbine-hystrix-dashboard-node1
(1) Bootstrap.yml değişikliği
sunucu:
bağlantı noktası: 5801
(2) Application.yml dosyası değişikliği
(3) springcloud başlangıç sınıfının EnableHystrixDashboard ek açıklamasını kaldırın
sc-müşteri-türbin-hystrix-dashboard-node2
(1) Bootstrap.yml değişikliği
sunucu:
bağlantı noktası: 5802
(2) Application.yml dosyası değişikliği
(3) springcloud başlangıç sınıfının EnableHystrixDashboard ek açıklamasını kaldırın
Not: Türbin yalnızca Hystrix hizmetlerini izleyebilir. Hystrix olmayan hizmetler izlenemez. Bu nedenle, yapılandırma dosyaları aşağıdaki yapılandırma öğeleriyle yapılandırılır
4. Yeni bir küme izleme ve gösterge tablosu projesi sc-client-turbine-hystrix oluşturun ve ilgili pom.xml dosyası aşağıdaki gibidir
< proje xmlns = " xmlns: xsi = "
xsi: schemaLocation = " >
< modelVersion > 4.0.0 < / modelVersion >
< Grup kimliği > bahar bulutu < /Grup kimliği >
< artifactId > sc-müşteri-türbin-hystrix < / artifactId >
< versiyon > 0.0.1-SNAPSHOT < / version >
< ambalaj > kavanoz < / paketleme >
< isim > sc-müşteri-türbin-hystrix < / isim >
< url > < / url >
< ebeveyn >
< Grup kimliği > org.springframework.boot < /Grup kimliği >
< artifactId > Spring-boot-starter-ebeveyn < / artifactId >
< versiyon > 2.0.4. YAYIN < / version >
< / ebeveyn >
< bağımlılık yönetimi >
< bağımlılıklar >
< bağımlılık >
< Grup kimliği > org.springframework.cloud < /Grup kimliği >
< artifactId > bahar-bulutu bağımlılıkları < / artifactId >
< versiyon > Finchley. < / version >
< tip > pom < / tür >
< dürbün > ithalat < /dürbün >
< /bağımlılık >
< / bağımlılıklar >
< / dependencyManagement >
< özellikleri >
< project.build.sourceEncoding > UTF-8 < /project.build.sourceEncoding >
< maven.compiler.source > 1.8 < /maven.compiler.source >
< maven.compiler.target > 1.8 < /maven.compiler.target >
< /özellikleri >
< bağımlılıklar >
< ! - < bağımlılık >
< Grup kimliği > org.springframework.cloud < /Grup kimliği >
< artifactId > Spring-cloud-starter-türbin < / artifactId >
< versiyon > 1.4.5. YAYIN < / version >
< /bağımlılık > - >
< bağımlılık >
< Grup kimliği > org.springframework.cloud < /Grup kimliği >
< artifactId > bahar-bulutu-başlatıcı-netflix-türbin < / artifactId >
< /bağımlılık >
< ! - < bağımlılık >
< Grup kimliği > org.springframework.cloud < /Grup kimliği >
< artifactId > bahar-bulutu-başlangıç-hystrix-gösterge tablosu < / artifactId >
< versiyon > 1.4.5. YAYIN < / version >
< /bağımlılık > - >
< bağımlılık >
< Grup kimliği > org.springframework.cloud < /Grup kimliği >
< artifactId > bahar-bulutu-başlangıç-netflix-hystrix-dashboard < / artifactId >
< /bağımlılık >
< bağımlılık >
< Grup kimliği > org.springframework.boot < /Grup kimliği >
< artifactId > Spring-boot-starter-aktüatör < / artifactId >
< /bağımlılık >
< bağımlılık >
< Grup kimliği > org.springframework.boot < /Grup kimliği >
< artifactId > Spring-boot-starter-web < / artifactId >
< /bağımlılık >
< / bağımlılıklar >
< / proje >
5. Yeni bir yapılandırma dosyası application.yml oluşturun
bahar:
uygulama:
isim: sc-client-türbin-hystrix
eureka:
müşteri:
registerWithEureka: true # Kendinizi Eureka hizmetine kaydettirseniz de, varsayılan değer doğrudur
fetchRegistry: true #Eureka'dan kayıt bilgileri alsın, varsayılan değer doğrudur
serviceUrl:
defaultZone: http: // localhost: 5001 / eureka /
sunucu:
bağlantı noktası: 9091
türbin:
appConfig: sc-client-turbine-hystrix-dashboard-node1, sc-client-turbine-hystrix-dashboard-node2 # Eureka'da hangi hizmetlerin izleneceğini belirten serviceId listesini yapılandırın
clusterNameExpression: newString ("varsayılan")
# 1. clusterNameExpression küme adını belirtir, varsayılan ifade appName'dir; şu anda: turbine.aggregator.clusterConfig'in izlemek istediğiniz uygulamanın adını yapılandırması gerekir
# 2. clusterNameExpression: default olduğunda, varsayılan değer olduğu için turbine.aggregator.clusterConfig ihmal edilebilir
# 3. clusterNameExpression: meta veri olduğunda, izlemek istediğiniz uygulamanın eureka.instance.metadata-map.cluster: ABC ile yapılandırıldığını varsayın, onu ve turbine.aggregator.clusterConfig: ABC'yi yapılandırmanız gerekir
instanceUrlSuffix: /hystrix.stream
toplayıcı:
clusterConfig: default # Hangi kümelerin toplanacağını belirtin, çoklu kullanım "," bölün, varsayılan değer varsayılandır. Http: //.../turbine.stream? Cluster = {clusterConfig one} kullanılarak erişilebilir
6. Yeni bir springboot başlangıç sınıfı oluşturun
paket sc.client.turbine;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.cloud.netflix.hystrix.dashboard.EnableHystrixDashboard;
import org.springframework.cloud.netflix.turbine.EnableTurbine;
@SpringBootApplication
@EnableHystrixDashboard
@Evleneceksen
@Evleneceksen
public class TurbineApplication {
public static void main (String args) {
SpringApplication.run (TurbineApplication.class, args);
}
}
7. Projeyi aşağıdaki sırayla başlatın
(1) sc-eureka-sunucusu
(2) sc-sunucu-türbin-hystrix-dashboard-node1
sc-sunucu-türbin-hystrix-dashboard-node2
(3) sc-istemci-türbin-hystrix-dashboard-node1
sc-müşteri-türbin-hystrix-dashboard-node2
(4) sc-müşteri-türbin-hystrix
8. Hizmetlerin başarıyla başlatıldığını doğrulamak için kayıt merkezini ziyaret edin
9. Türbin kümesi izlemeyi doğrulayın
Http: // localhost: 9091 / turbine.stream adresini ziyaret edin ve aşağıdaki verileri gönderin
Ve gerçek zamanlı izleme verisi elde etmek için sürekli yenilenecek, tek bir izlemeye benzediğini göstererek izlenen öğenin bilgilerini döndürüyor. Grafik izleme ve görüntüleme için http: // localhost: 9091 / hystrix girin ve aşağıdaki arayüze geri dönün
Http: // localhost: 9091 / turbine.stream girin ve ardından Akışı İzle'ye tıklayın, aşağıdaki arayüzün göründüğünü görebilirsiniz
İzleme çizelgesi görünmez. Sırasıyla ve ziyaret edin (mümkün olduğunca çok ziyaret edin)
Türbin kümesi izleme tablosu arayüzünü görüntülemek için geri dönün
Yönlendirilen makaleleri takip etmeyi unutmayın!