1. 程式人生 > >Eureka 高可用(最簡單的體驗過程)

Eureka 高可用(最簡單的體驗過程)

Spring-cloud 入門操作

 

首先建立一個maven專案,我們需要建立一個Eureka註冊中心和一個服務中心。一個服務好不好就看此係統的高效性,在微服務中註冊中心好比是我們的詢問臺,當我們這個詢問臺掛掉時整個服務就癱瘓了,所以我們要多加一個詢問臺,使我們的服務架構高效。

 

實驗體驗過程:

1、新建一個maven空專案刪除多餘的檔案。

 

2、建立一個Eureka註冊中心

     (1)建立一個Module

   (2)選擇spring

(3)選擇Could Discover 中的Eureka Server

 

 

(4)更改springcloud的版本和springboot對應的版本

(5)檢視springcloud官網(http://spring.io/projects/spring-cloud)

(6)我們選擇Finchley.SR2

3、對應的springboot版本2.0.6RELEASE

對應需要注意的地方

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.6.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

<properties>

    <java.version>1.8</java.version>

    <spring-cloud.version>Finchley.SR2</spring-cloud.version>

</properties>

 

 

<dependencies>

    <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>

 

(7)配置註冊中心響應的服務

application.properties配置

server.port=8761

eureka.instance.hostname=localhost

#是否開啟自己的註冊

eureka.client.register-with-eureka=false

spring.application.name=eureka

eureka.client.service-url.defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

啟動類注意註解

package cn.eureka;



import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;



@SpringBootApplication

@EnableEurekaServer

public class EurekaApplication {



    public static void main(String[] args) {

        SpringApplication.run(EurekaApplication.class, args);

    }



}

 

(8)啟動服務(訪問localhost:8761)

沒有註冊自己

註冊了自己

 

3、建立一個服務

(1)如上再新建一個Module選擇Eureka Discovery和一個web(內建tomcat容器)

 

 

(2)修改springboot和SpringCloud的版本

 

 

 

 

(3)配置application.properties

spring.application.name=producer

server.port=9000

eureka.client.serviceUrl.defaultZone=http://localhost:8761/eureka/

 

(4)加註解@EnableDiscoverClient

package cn.producer;


import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

import org.springframework.cloud.client.discovery.EnableDiscoveryClient;


@SpringBootApplication

@EnableDiscoveryClient

public class ProducerApplication {

   public static void main(String[] args) {

      SpringApplication.run(ProducerApplication.class, args);

   }

}

 

 

(5)測試

 

4、實現Eureka的高可用(一臺註冊中心很容易掛掉,至少倆臺)

 

 

 

(1)點選編輯

 

(2)選擇註冊中心複製

 

 

(3)更改名字和埠方便辨認(-Dserver.port=8761)

(4)配置檔案裡,啟動1

 

(5)配置檔案裡,啟動2

 

 

5、實現服務的多註冊

(1)在服務多新增一個註冊中心

啟動,發現

掛掉1

實現了高可用

 

當多個註冊中心時按照自己的需求構建如