springcloud-Eureka搭建服務註冊中心2-集羣化

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

目錄:git

    一、註冊中心集羣配置(代碼裏都有關鍵註釋,可自行查看);github

    二、運行集羣;spring

    三、hello-server服務註冊;瀏覽器

 

1、註冊中心集羣配置springboot

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

    一、首先在項目的resource下建立三個節點的配置文件-目的爲了後面啓動集羣不一樣節點加載不一樣配置文件,服務註冊中心節點1的主機名爲: eurekaserverone、服務註冊中心節點2的主機名爲: eurekaservertwo、服務註冊中心節點3的主機名爲: eurekaserverthree(由於這裏我是在本機器環境下搭建的集羣,因此三個節點的IP都是127.0.0.1,只是端口不一樣-具體端口見下面的配置文件,爲了主機名能映射到IP地址,因此咱們須要在系統的host文件中配置對應的映射以下圖示)。三個配置文件分別爲:application-serverone.yml,application-servertow.yml,applicatioin-serverthree.yml 具體配置分別以下:spa

         

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

# 配置服務名稱(由於這裏做爲服務中心集羣,因此將本身做爲服務向其它服務中心註冊本身,造成互相註冊的服務註冊中心)
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/

    

    二、在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);
	}

}

 

2、運行集羣

    一、將上面項目進行編譯打包後,如今到命令行環境去針對不一樣節點加載不一樣配置文件運行,具體命令以下

        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

         我這啓動成功後界面,這裏也能夠看註冊的信息(本身去看吧,這裏我就再也不敘述了)

         

    二、三個命令窗口啓動成功後,能夠在瀏覽器中輸入以下地址便可看到集羣各節點的註冊信息:

        http://eurekaserverone:1111/   

        http://eurekaservertwo:1112/

        http://eurekaserverthree:1113/

        其中一個界面的信息爲(這裏能夠看到節點2和節點3都註冊到節點1上了,其餘節點相似):

        

3、hello-server服務註冊

    一、這裏我直接使用的上一篇文章裏面的eureka-clientone項目做爲服務註冊到服務註冊中心集羣中;

    二、對項目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/

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

         http://eurekaserverone:1111/ 

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

         

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

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

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

相關文章
相關標籤/搜索