spring cloud之eureka簡介

最近線上的接口出了一些問題,有一些可能不是代碼的問題,可是因爲是測試和其餘方面的同事爆出來的,因此感受對接口的監控應該提上日程。spring

通過搜索發現,spring cloud的eureka就是專門作這方面工做的。架構

下面一段是《spring cloud 微服務實戰》一書中對eureka的簡單介紹:app

Spring Cloud Eureka 是Spring Cloud Netflix 微服務套件中的一部分, 它基於Netflix Eureka 作了二次封裝, 主要負責完成微服務架構中的服務治理功能。spring-boot

Spring Cloud 經過爲Eureka 增長了Spring Boot 風格的自動化配置,咱們只需經過簡單引入依賴和註解配置就能讓Spring Boot 構建的微服務應用輕鬆地與Eureka 服務治理體系進行整合。微服務

1、Eureka 服務的三個角色:

• 服務註冊中心:測試

Eureka 提供的服務端, 提供服務註冊與發現的功能, 通常被稱做eureka-server。
服務提供者:fetch

提供服務的應用, 能夠是Spring Boot 應用, 也能夠是其餘技術平臺且遵循Eureka 通訊機制的應用。它將本身提供的服務註冊到Eureka, 以供其餘應用發現
• 服務消費者:url

消費者應用從服務註冊中心獲取服務列表, 從而使消費者能夠知道去何處調用其所須要的服務,這個不是咱們這部分的內容,暫不介紹。spa

2、eureka中server的簡單搭建

1.首先咱們建立一個應用,名爲monitor,首先引入eureka依賴code

<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>

2.因爲是spring cloud項目,同時須要spring cloud的依賴管理

<dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Dalston.SR1</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
</dependencyManagement>

注:spring boot和spring cloud 有嚴格的版本對應關係,本項目的spring boot版本是1.5.4.RELEASE

3.application.properties配置文件

spring.application.name=eureka-server server.port=8080 eureka.instance.hostname=localhost eureka.client.register-with-eureka=false eureka.client.fetch-registry=false

4.最後一步,應用入口class須要加上註解

@EnableEurekaServer

這樣這個項目就是一個eureka服務註冊中心了。

3、eureka的client簡單搭建

eureka的客戶端跟就是平時咱們的應用,咱們須要把他們監控起來。

1.application.properties配置文件

spring.application.name=client-name server.port=8080 #重要:將應用註冊到上一步的服務註冊中心 eureka.client.serviceUrl.defaultZone=http://*.*.*.*:8080/monitor-1/eureka/
#開啓端點 management.security.enabled=false #監測心跳 eureka.instance.health-check-url-path=/health

2.pom文件的依賴

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

3.spring cloud的依賴管理

<dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Dalston.SR1</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
</dependencyManagement>

4.應用入口class添加註解

@EnableDiscoveryClient

5.最後一步,在controller中引入DiscoveryClient對象

@Autowired private DiscoveryClient client;

4、監控UI

看到這個,基本就大功告成了。

相關文章
相關標籤/搜索