1. 程式人生 > >SpringCloud(1) Eureka註冊中心 —— 服務發現和服務註冊

SpringCloud(1) Eureka註冊中心 —— 服務發現和服務註冊

SpringBoot 2.0+ SpringCloud Eureka註冊中心 —— 服務發現和服務註冊

**服務發現:**服務發現是微服務基礎架構的關鍵原則之一。試圖著手配置每個客戶端或某種格式的約定可以說是非常困難的和非常脆弱的。Eureka是Netflix服務發現的一種服務和客戶端。這種服務是可以被高可用性配置的和部署,並且在註冊的服務當中,每個服務的狀態可以互相複製給彼此。

**服務註冊:**當一個客戶端註冊到Eureka,它提供關於自己的元資料(諸如主機和埠,健康指標URL,首頁等)Eureka通過一個服務從各個例項接收心跳資訊。如果心跳接收失敗超過配置的時間,例項將會正常從註冊裡面移除

Eureka的pom依賴

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

application.propertity

server.port=8000
#是否向服務註冊中心註冊自己
eureka.client.register-with-eureka=false
#是否從eureka伺服器獲取註冊資訊
eureka.client.fetch-registry=false
#指定服務註冊中心的位置
eureka.client.serviceUrl.defaultZone=http://localhost:${server.port}/eureka/

Eureka啟動類

@SpringBootApplication
@EnableEurekaServer
public class EurekaApplication {

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

使用@EnableEurekaServer允許啟動註冊中心服務。啟動成功後瀏覽器輸入http://localhost:${server.port}即可進入註冊中心頁面。

Eureka叢集搭建

單個註冊中心存在一個單點故障的問題,一個註冊中心遠遠無法滿足實際的生產環境,那麼我們需要多個註冊中心進行叢集,達到真正的高可用。

搭建方法:
	1、建立多個註冊中心工程,步驟見上。
	2、配置application.propertity中的eureka.client.serviceUrl.defaultZone,A中心配置B中心的服務註冊中心地址,B中心配置A中心的服務註冊中心地址。
	3、啟動工程,訪問頁面,會發現A頁面的註冊中心地址為B地址,B為A地址。
	4、啟動微服務C註冊到註冊中心A中,會發現B中也有該服務註冊資訊。避免單點故障帶來的問題。