Spring Cloud的Eureka註冊中心集羣搭建

Spring Cloud也包含了許多的子項目 , 下面等下要使用的Eureka只是其中的一個子項目 java

Eureka的功能有點相似於dubbo和zookeeper,它是一個服務治理組件,包含了服務註冊中心、服務註冊與發現機制。web

Eureka的使用很是簡單 spring

咱們首先在idea裏建立一個maven項目 , 等下方便咱們進行操做app

服務治理組件  咱們須要弄服務註冊中心、服務註冊(提供者)與發現機制(消費者)三個Spring Boot項目,我把他們都放在maven裏進行管理 ,具體步驟以下:maven

先在maven項目上在去新建一個module ,做爲咱們的服務註冊中心(eureka)ide

新建的module咱們選擇Spring Boot項目 , 勾選以下依賴spring-boot

 

具體依賴以下fetch

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.5.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.liy</groupId>
    <artifactId>eureka</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>eureka</name>
    <description>Demo project for Spring Boot</description>

    <properties>
        <java.version>1.8</java.version>
        <spring-cloud.version>Greenwich.SR1</spring-cloud.version>
    </properties>

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

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

這個服務中心 ,咱們只須要在配置文件中配置一下 , 而後在啓動類裏使用一個註解 ,而後啓動項目便可ui

application.propertiesurl

#端口號
server.port=1111
spring.application.name=eureka
#是否向註冊中心(eureka)註冊 ,沒必要向本身註冊 ,除非是搭建一個註冊中心的集羣,那麼這裏就要爲true了
eureka.client.register-with-eureka=false
#是否容許它去獲取其餘的註冊的服務,由於他是註冊中心,因此不須要去獲取的
eureka.client.fetch-registry=false

啓動類裏添加個@EnableEurekaServer

@SpringBootApplication
@EnableEurekaServer
public class EurekaApplication {

    public static void main(String[] args) {
        SpringApplication.run(EurekaApplication.class, args);
    }

}

啓動項目看到以下頁面 , 即註冊中心ok了(下面截圖只截取了頭部)

 

若是是要搭建這個註冊中心的集羣的話 ,也是至關簡單的 , 

複製這個application.properties配置文件的兩份

application-peer1.properties

server.port=1111
spring.application.name=eureka
eureka.instance.hostname=peer1
#搭建eureka集羣 ,開啓向eureka註冊
eureka.client.register-with-eureka=true
eureka.client.fetch-registry=false
#搭建eureka集羣,那麼須要註冊到eureka去,這是註冊的eureka的路徑
eureka.client.service-url.defaultZone=http://peer2:1112/eureka

application-peer2.properties

server.port=1112
spring.application.name=eureka
eureka.instance.hostname=peer2
eureka.client.register-with-eureka=true
eureka.client.fetch-registry=false
#互相註冊,保持消息服務同步
eureka.client.service-url.defaultZone=http://peer1:1111/eureka

還須要在 本機的C:\Windows\System32\drivers\etc  路徑下去到 hosts 文件裏去加上下面圖片上的兩行

這是在一個Spring Boot項目裏 ,怎麼運行不一樣的配置文件呢 , 咱們把項目進行打包

選擇左邊的maven ,而後選擇要打包的Spring Boot項目 ,雙擊如圖的package ,就開始打包了  ,以下打包成功

 

而後咱們點擊Terminal

進入打包的目錄裏去

分別啓動兩個

 

 

若是你只啓動了一個 ,或者另外一個尚未啓動起來 , 那麼那個已經啓動了的會一直報錯

,

 

你只需把另外一個啓動便可  ,兩個啓動成功

 

這樣個人註冊中心eureka集羣就就搭建好了 , 下一篇咱們講提供者(provider)以及提供者集羣和消費者(consumer)怎麼搭建

相關文章
相關標籤/搜索