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
實現了高可用
當多個註冊中心時按照自己的需求構建如