spring cloud 之 Eureka Server、 Eureka Client

 

摘要

Eureka 是 Netflix 開發的,一個基於 REST 服務的,服務註冊與發現的組件。

它主要包括兩個組件:Eureka Server 和 Eureka Client

  • Eureka Client:一個Java客戶端,用於簡化與 Eureka Server 的交互(通常就是微服務中的客戶端和服務端)
  • Eureka Server:提供服務註冊和發現的能力(通常就是微服務中的註冊中心)

各個微服務啓動時,會通過 Eureka Client 向 Eureka Server 註冊自己,Eureka Server 會存儲該服務的信息

也就是說,每個微服務的客戶端和服務端,都會註冊到 Eureka Server,這就衍生出了微服務相互識別的話題。

                                                                              上述借鑑於:https://www.cnblogs.com/knowledgesea/p/11208000.html

 

本文重在搭建一個簡單的eureka server 、eureka client。使用spring boot 2.0.1 + maven。

想了解更多的內容,大家可以參考其他的博客或者相應的書籍,這裏不多加贅述。

 

 

Eureka Server

pom.xml

以下是關鍵部分,spring boot 版本是 2.0

 <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
       
        <!-- eureka server -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
        </dependency>
    </dependencies>

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

application.yml

server:
  port: 8761

spring:
  application:
    name: registry

eureka:
  client:
    register-with-eureka: false
    fetch-registry: false
    serviceUrl:
      defaultZone: http://localhost:${server.port}/eureka/
##   register-with-eureka: false  和  fetch-registry: false 表明自己是一個eureka server

pom和application都配置好了後,只要在啓動類開啓 eureka server,啓動項目後就可以查看效果了。用到註解:

@EnableEurekaServer

 

登錄地址爲: http://localhost:8761

 

上面的 Instances currently registered with Eureka   下面沒有任何實例,是因爲現在還沒有eureka client。

下面介紹eureka client。

 

Eureka Client

pom.xml

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <!-- eureka client -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>

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

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

application.yml

eureka:
  client:
    service-url:
      defaultZone: http://localhost:8761/eureka/
server:
  port: 8762
spring:
  application:
    name: eureka-client

defaultZone : 配置的就是 eureka server 的地址,也就是你註冊中心的地址。

pom和application都配置好了後,只要在啓動類開啓 eureka client,啓動項目後就可以查看效果了。用到註解:

@EnableEurekaClient

 

當我們啓動了 eureka client,我們回到 eureka server頁面查看效果:

 

會發現剛纔我們配置的 eureka client 已經up了,也就是說我們配置的 eureka client 已經成功註冊到 eureka server中了。下一步就可以配置 ribbon、feign、zuul 進行對client的負載、路由等操作。這些可以參考我後面得博客。 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章