Turbine - это инструмент для агрегирования серверов для отправки данных потока событий. В мониторинге Hystrix можно контролировать только один узел, и в реальном производстве это кластеры. Следовательно, турбина может использоваться для мониторинга метрик Hystrix в кластере, а услуги Hystrix могут быть обнаружены через Eureka.
Создать новый турбинный проект
Turbinepplication.java
пакет турбины; импорт org.springframework.boot.springapplication; import org.springframework.boot.autoconfigure.springbootapplication; импорт org.springframework.cloud.netflix.hystrix.enablehystrix; import.springframe.cloud.netflix.hystrix.enablehystrix; import.springframe.cloud.netflix.hystrix.enablehystrix; org.springframework.cloud.netflix.hystrix.dashboard.enablehystrixdashboard; импорт org.springframework.cloud.netflix.turbine.enableTurbine;/*** Создан SAI.Luo на 2017/4/26. */@SpringbootApplication@enableturbine@enableHyStrix@enableHyStrixDashBoardPublic Class TurbineApplication {public static void main (string [] args) {SpringApplication.run (TurbineApplication.class, args); }}Pom.xml
<? xml version = "1.0" Encoding = "utf-8"?> <project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <dolidayversion> 4.0.0 </modelversion> <strifactid> turbine </artifactid> <proterties> <proterties> <proterties> <project.build.sourceencoding> utf-8 </project.build.sourceencoding> <java.version> 1.8 </java.version> </свойства> <parent> <groupid> org.springframework.boot </GroupD> <ratifactid> Spring-Spring-Starter-parent-parent-parent-parent-parent-parent-parent-parent-parent-parent-wortid. <serse> 1.5.2.release </version> <venterativePath/> <!-Поиск родителя из репозитория-> </parent> <dependencies> <!-Hystrix-зависимости-> <Depositior> <groupid> org.springframework.cloud </GroupId> <strifactid> spring-cloud-starter-hystrame. <groupId> org.springframework.cloud </GroupId> <ArtifActId> Spring-Cloud-Starter-Hystrix-Dashboard </artifactid> </dependency> <!-зависимости Turnbine-> <Depective> <groupId> org.springframework.cloud </GroupId> <TropactId> Spring-Cloud-starter-turbine-1 </depervice> </depertive> <degependencyManagement> <Dependency> <Dependency> <groupId> org.springframework.cloud </GroupId> <artifactid> spring-cloud-зависимости </artifactid> <serse> camden.sr5 </version> <Тип> Зависимость </type> <cerpope> </rapope> </reperty> <//зависимость> зависимость> <//зависимость> зависимость> <//зависимость </type> <cerpope> </ropope> </vomenency> </type> </repope> omport> </type> зависимость> <//зависимость> зависимость>. </dependencymanagement> <buld> <blicins> <blicin> <groupid> org.springframework.boot </GroupId> <ratifactid> Spring-boot-maven-plugin </artifactid> </placin> </plugins> </build> </project>
Application.yml
Весна: Приложение: Имя: Turbinesserver: Порт: 8000Turbine: App-Config: Hello, Helloclient ## Имя службы, которое необходимо контролировать агрегатор: ClusterConfig: основное имя сервисного кластера ##, которое необходимо контролировать CluSternAmeExpression: Metadata ['' Cluster '] Eureka: ExactipAddressDressDresspression: /inTempAteR ServiceUrl: defaultzone: http: // localhost: 8761/eureka/
Начните сервис
HelloServiceeureka Project Application.yml добавляет конфигурацию кластера
Изменить на
Весна: Приложение: Имя: HelloServer: Порт: 9001Eureka: экземпляр: договор аренды-возобновления-интервалы в секунде: 3-й аренда-промежуточная продолжительность в секунде: 5 метаданных-карт: кластер: основной клиент: ServiceUrl: Defaulzone: http: // localhost: 8761/eureka/registry-interving: // locolhost: 8761/eureka-interving: // locolhost: 8761/eureka-interv com: Netflix: Eureka: Off Discovery: Off
pom.xml добавляет пакет зависимости Hystrix
<Depective> <groupid> org.springframework.cloud </GroupId> <ArtifactId> Spring-Cloud-Starter-Hystrix </artifactId> </depervice>
Аналогичным образом, ribboneureka Project Application.yml добавляет конфигурацию кластера
После изменения следующее
Весна: Приложение: Имя: Helloclientserver: Порт: 20000Eureka: экземпляр: договор аренды-возобновление-интервал-секунды: 3-й аренда-промежуточная продолжительность: 5 метаданных-карты: кластер: основной клиент: ServiceUrl: defaultzone: http: // localhost: 8761/eureka-wetch-inter-inter-inter-inter-inter-int Уровень: com: Netflix: Eureka: Off Discovery: Off
pom.xml добавляет пакет зависимости Hystrix
Ribboneurekaapplication.java Добавить аннотацию
@Enablehystrix
Начните проект
Посетите Localhost: 8000/hystrixx, чтобы увидеть страницу
Примечание. Турбина может только отслеживать службу Hystrix, а не службу Hystrix, и не может ее контролировать. Например, хотя служба Hello настроена с помощью кластера, она не использует Hystrix, поэтому она не будет контролироваться.
Адрес проекта https://github.com/luosai001/spring-cloud-sample/tree/master
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.