IDEA springcloud-Eureka搭建服務注冊中心2-集群化


@https://my.oschina.net/luoyaqi/blog/1605810

目標:搭建出三個節點的服務注冊中心集群,並實現一個服務的注冊。

目錄:

    1、注冊中心集群配置(代碼里都有關鍵注釋,可自行查看);

    2、運行集群;

    3、hello-server服務注冊;

 

一、注冊中心集群配置

    跟上一篇文章的單個服務注冊中心一樣,首先創建一個springboot項目eureka-server-cluster,然后在pom.xml文件中添加spring cloud的版本依賴和Eureka的服務端依賴(請查看上一篇文章的pom.xml配置,事實是兩個項目pom內容一樣),然后進行下面配置:

    1、首先在項目的resource下創建三個節點的配置文件-目的為了后面啟動集群不同節點加載不同配置文件,服務注冊中心節點1的主機名為: eurekaserverone、服務注冊中心節點2的主機名為: eurekaservertwo、服務注冊中心節點3的主機名為: eurekaserverthree(因為這里我是在本機器環境下搭建的集群,所以三個節點的IP都是127.0.0.1,只是端口不同-具體端口見下面的配置文件,為了主機名能映射到IP地址,所以我們需要在系統的host文件中配置對應的映射如下圖示)。三個配置文件分別為:application-serverone.yml,application-servertow.yml,applicatioin-serverthree.yml 具體配置分別如下:

         

           1) application-serverone.yml配置,這里服務注冊中心節點eurekaserverone注冊到服務注冊中心節點eurekaservertwo和服務注冊中心節點eurekaserverthree

# 配置服務名稱(因為這里作為服務中心集群,所以將自己作為服務向其它服務中心注冊自己,形成互相注冊的服務注冊中心)
spring:
  application:
    name: eureka-server-cluster

# 配置端口
server:
  port: 1111

eureka:
  # 配置本注冊中心的hostname
  instance:
    hostname: eurekaserverone
  # 本Eureka服務端將自己作為服務將要注冊的注冊中心的地址
  client:
    serviceUrl:
      defaultZone: http://eurekaservertwo:1112/eureka/,http://eurekaserverthree:1113/eureka/




            2) application-servertwo.yml配置,這里服務注冊中心節點eurekaservertwo注冊到服務注冊中心節點eurekaserverone和服務注冊中心節點eurekaserverthree

# 配置服務名稱(因為這里作為服務中心集群,所以將自己作為服務向其它服務中心注冊自己,形成互相注冊的服務注冊中心)
spring:
  application:
    name: eureka-server-cluster

# 配置端口
server:
  port: 1112

eureka:
  # 配置本注冊中心的hostname
  instance:
    hostname: eurekaservertwo
  # 本Eureka服務端將自己作為服務將要注冊的注冊中心的地址
  client:
    serviceUrl:
      defaultZone: http://eurekaserverone:1111/eureka/,http://eurekaserverthree:1113/eureka/




            3) application-serverthree.yml配置,這里服務注冊中心節點eurekaserverthree注冊到服務注冊中心節點eurekaserverone和服務注冊中心節點eurekaservertwo

# 配置服務名稱(因為這里作為服務中心集群,所以將自己作為服務向其它服務中心注冊自己,形成互相注冊的服務注冊中心)
spring:
  application:
    name: eureka-server-cluster

# 配置端口
server:
  port: 1113 eureka: # 配置本注冊中心的hostname instance: hostname: eurekaserverthree # 本Eureka服務端將自己作為服務將要注冊的注冊中心的地址 client: serviceUrl: defaultZone: http://eurekaserverone:1111/eureka/,http://eurekaservertwo:1112/eureka/ 

    

    2、在EurekaServerClusterApplication.java中即項目的啟動類中添加開啟此段為服務注冊中心注解@EnableEurekaServer,代碼如下:

package com.lyq.demo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; /** * @description : @EnableEurekaServer開啟此端為服務注冊中心 * @author : lyq * @date : 2018/01/10 */ @EnableEurekaServer @SpringBootApplication public class EurekaServerClusterApplication { public static void main(String[] args) { SpringApplication.run(EurekaServerClusterApplication.class, args); } } 

 

二、運行集群

    1、將上面項目進行編譯打包后,現在到命令行環境去針對不同節點加載不同配置文件運行,具體命令如下

        1)啟動服務中心節點eurekaserverone,命令如下:

            java -jar eureka-server-cluster-0.0.1-SNAPSHOT.jar --spring.profiles.active=serverone

        2)啟動服務中心節點eurekaservertwo,命令如下:

            java -jar eureka-server-cluster-0.0.1-SNAPSHOT.jar --spring.profiles.active=servertwo

        3)啟動服務中心節點eurekaserverthree,命令如下:

            java -jar eureka-server-cluster-0.0.1-SNAPSHOT.jar --spring.profiles.active=serverthree

         我這啟動成功后界面,這里也可以看注冊的信息(自己去看吧,這里我就不再敘述了)

         

    2、三個命令窗口啟動成功后,可以在瀏覽器中輸入如下地址即可看到集群各節點的注冊信息:

        http://eurekaserverone:1111/   

        http://eurekaservertwo:1112/

        http://eurekaserverthree:1113/

        其中一個界面的信息為(這里可以看到節點2和節點3都注冊到節點1上了,其他節點類似):

        

三、hello-server服務注冊

    1、這里我直接使用的上一篇文章里面的eureka-clientone項目作為服務注冊到服務注冊中心集群中;

    2、對項目eureka-clientone只對application.yml文件進行了如下修改:

# 配置注冊到注冊中心的服務名稱
spring:
  application:
    name: hello-service

## 配置服務注冊中心的地址(實踐單節點服務注冊中心案例時,放開此注釋,並且注釋下面的代碼)
#eureka:
#  client:
#    serviceUrl:
#      defaultZone: http://eurekaserverone:1111/eureka/ # 配置服務注冊中心的地址(實踐服務注冊中心集群案例時,放開此注釋,並且注釋上面的代碼) eureka: client: serviceUrl: defaultZone: http://eurekaserverone:1111/eureka/

    3、運行此項目后,再在瀏覽器輸入上述地址中的一個,例如我這輸入的是:

         http://eurekaserverone:1111/ 

       可以在注冊中心界面看到,此服務hello-service已經注冊進去了(注意:其它服務注冊中心節點eurekaservertwo、eurekaserverthree也都注冊了此服務),如下圖所示:

         

         到這里集群服務注冊中心代碼已經完成,如有建議或疑問敬請在博客留言。接下來文章會對服務注冊中心集群的詳細配置一一進行分解。

         服務注冊中心服務端代碼地址:https://github.com/camel-luo/eureka-server-cluster

         服務注冊中心被注冊服務代碼:https://github.com/camel-luo/eureka-clientone


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM