一、 什麼是服務注冊中心
服務注冊中心是服務實作服務化管理的核心元件,類似于目錄服務的作用,主要用來存儲服務資訊,譬如提供者 url 串、路由資訊等。服務注冊中心是 SOA 架構中最基礎的設施之一。
1 服務注冊中心的作用
- 服務的注冊
- 服務的發現
2 常見的注冊中心有哪些
- Dubbo 的注冊中心 Zookeeper
- Springcloud 的注冊中心 Eureka
3 服務注冊中心解決了什麼問題
- 服務管理
- 服務的依賴關系管理
4 什麼是 Eureka 注冊中心
Eureka 是 Netflix 開發的服務發現元件,本身是一個基于 REST 的服務。Spring Cloud将它內建在其子項目 spring-cloud-netflix 中,以實作 Spring Cloud 的服務注冊于發現,同時還提供了負載均衡、故障轉移等能力。
5 Eureka 注冊中心三種角色
5.1Eureka Server
通過 Register、Get、Renew 等接口提供服務的注冊和發現。
5.2Application Service (Service Provider)
服務提供方把自身的服務執行個體注冊到 Eureka Server 中
5.3Application Client (Service Consumer)
服務調用方通過 Eureka Server 擷取服務清單,消費服務
二、 Eureka入門案例
1.建立SpringBoot項目
建立一個SpringBoot項目
2.引入相關的依賴
添加如下的相關依賴
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
<version>1.4.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
<version>1.3.2.RELEASE</version>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Dalston.SR5</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>複制代碼
建立啟動器
在啟動類中我們需要放開@EnableEurekaServer,表明這是個Eureka的服務端
@EnableEurekaServer
@SpringBootApplication
public class SpringcloudEurekaDemoApplication {
public static void main(String[] args) {
SpringApplication.run(SpringcloudEurekaDemoApplication.class, args);
}
}複制代碼
修改application.properties檔案
spring.application.name=eureka-server
server.port=8761
# 是否将自己注冊到Eureka中,預設true
eureka.client.register-with-eureka=false
# 是否從Eureka服務中擷取注冊資訊預設是true
eureka.client.fetch-registry=false複制代碼