15

スプリング MVC とスプリング ブート フレームワークを使用して、スプリング クラウド マイクロサービスを開発しようとしています。そして、春の雲に使用する Eureka サーバー、Zuul、Ribbon、hystrix、および Turbine。私はすでにマイクロサービスを開発し、hystrix ダッシュボードのみを実装しました。hystrix ダッシュボードを使用できます。今、私はより多くのサービスを実装しています。そこで、監視の集約にタービンを選択しました。しかし、ダッシュボードが表示されません。別のスプリング ブーツ プロジェクトでタービンを実装しました。

私のpom.xmlには、

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-hystrix</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-hystrix-dashboard</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-turbine</artifactId>
</dependency>

そして、私のメインクラスには、

@SpringBootApplication
@EnableHystrixDashboard
@EnableCircuitBreaker
@EnableTurbine

public class ZTurbineClientApplication {

    public static void main(String[] args) {
    SpringApplication.run(ZTurbineClientApplication.class, args);
    }
}

私のTurbineプロジェクトのapplication.propertiesファイルには、

server.port=8085
spring.application.name=espace-Turbine
eureka.client.serviceUrl.defaultZone=http://localhost:8071/eureka/
eureka.client.register-with-eureka=true
eureka.client.fetch-registry=true
turbine:
 aggregator:
  clusterConfig: APPCLUSTER
 app-config: espaceService1,espaceService2
 instanceUrlSuffix.APPCLUSTER: /hystrix.stream

そして、私の以前の最初のサービスのapplication.propertiesファイルのような

eureka.client.serviceUrl.defaultZone=http://localhost:8071/eureka/
eureka.client.register-with-eureka=true
eureka.client.fetch-registry=true
spring.application.name=espaceService1
server.port=8080
eureka:
  instance:
    prefer-ip-address: true
    leaseRenewalIntervalInSeconds: 3
    leaseExpirationDurationInSeconds: 3
    metadata-map:
      cluster: APPCLUSTER

2 つ目のサービスのアプリケーション プロパティ ファイルには、

eureka.client.serviceUrl.defaultZone=http://localhost:8071/eureka/
eureka.client.register-with-eureka=true
eureka.client.fetch-registry=true
spring.application.name=espaceService2
server.port=8081
eureka:
  instance:
    prefer-ip-address: true
    leaseRenewalIntervalInSeconds: 3
    leaseExpirationDurationInSeconds: 3
    metadata-map:
      cluster: APPCLUSTER

これらは私の実装の詳細です。

URL「http://localhost:8085/hystrix.dashboard」を取得した後。そして「http://localhost:8085/turbine.stream?cluster=APPCLUSTER」を貼り付けます。しかし、「コマンド メトリック ストリームに接続できません」のようなエラーが発生します。以下にスクリーンショットを追加します。

ここに画像の説明を入力

ここに画像の説明を入力

4

1 に答える 1

0

コンマ区切りのサービス名からスペースを削除する必要があります

turbine.aggregator.cluster-config=espace-Second_Microservice,espaceFirst_Microservice

異なるクラスター名からストリームを集約することはできません。espace-Second_Microservice と espace-First_Microservice の両方で 1 つのクラスター名を使用するか、クラスターをまったく使用しないでください。

To define one cluster name use below config

    eureka:
      instance:
        prefer-ip-address: true
        leaseRenewalIntervalInSeconds: 3
        leaseExpirationDurationInSeconds: 3
        metadata-map:
          cluster: APPCLUSTER

以下のタービンの設定を使用します

turbine:
  aggregator:
    clusterConfig: APPCLUSTER
  app-config: espace-Second_Microservice,espace-First_Microservice
  instanceUrlSuffix.APPCLUSTER: /hystrix.stream

Hystrix ダッシュボードで http://{タービン ホスト}:{タービン ポート}/turbine.stream?cluster=APPCLUSTER を使用します。

于 2017-12-18T20:51:07.160 に答える