Spring Cloud(三)服務註冊與發現
阿新 • • 發佈:2018-12-06
Spring Cloud(三)服務註冊與發現
案例中有三個角色:服務註冊中心、服務提供者、服務消費者,其中服務註冊中心就是eureka單機版啟動既可,流程是首先啟動註冊中心,服務提供者生產服務並註冊到服務中心中,消費者從服務中心中獲取服務並執行。
這裡新建兩個spring boot工程(產品微服務和使用者微服務)。
服務發現
1、pom包配置
建立一個springboot專案,pom.xml中新增如下配置:
<!-- 服務客戶端-->
<dependency>
<groupId >org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
2、配置檔案
配置服務發現的服務治理中心
application.properties配置如下:
產品微服務
# 伺服器埠 server.port=9001 # spring服務名稱 spring.application.name=product # 治理客戶端服務域 eureka.client.service-url.defaultZone=http://localhost:7001/eureka, http://localhost:7002/eureka
使用者微服務
# 伺服器埠
server.port=8001
# spring服務名稱
spring.application.name=user
# 治理客戶端服務域
eureka.client.service-url.defaultZone=http://localhost:7001/eureka, http://localhost:7002/eureka
引數在上一篇都已經解釋過,這裡不多說。
3、啟動類
啟動類中新增@EnableDiscoveryClient
註解
@SpringBootApplication
//啟用發現服務註解,新版本已經不需要再使用了
//@EnableDiscoveryClient
@EnableFeignClients(basePackages = "com.lay.product")
public class ProductApplication {
public static void main(String[] args) {
SpringApplication.run(ProductApplication.class, args);
}
}
使用者微服務同產品微服務。
新增@EnableDiscoveryClient
註解後,專案就具有了服務註冊的功能。啟動工程後,就可以在註冊中心的頁面看到product服務。
配置多個服務治理中心節點
上面只是在服務治理中心將兩個微服務都分別註冊了兩個節點,而服務治理中心卻只是一個節點,仙子啊希望存在兩個服務智力中心節點,因為在服務治理中心也可能單個節點出現故障,導致服務不可用。假如有兩個節點,一個不可用後,另外一個節點依舊可用,這樣就能保證服務可以繼續正常處理業務,這就體現了高可用的特點。從高併發負載的角度而言,多個節點也有助於服務的負載均衡。
這裡並不需要新建工程,只需要更改下配置檔案的埠號就可以了啟動第二個節點了。