1. 程式人生 > >Spring Cloud(三)服務註冊與發現

Spring Cloud(三)服務註冊與發現

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服務。

配置多個服務治理中心節點

上面只是在服務治理中心將兩個微服務都分別註冊了兩個節點,而服務治理中心卻只是一個節點,仙子啊希望存在兩個服務智力中心節點,因為在服務治理中心也可能單個節點出現故障,導致服務不可用。假如有兩個節點,一個不可用後,另外一個節點依舊可用,這樣就能保證服務可以繼續正常處理業務,這就體現了高可用的特點。從高併發負載的角度而言,多個節點也有助於服務的負載均衡。

這裡並不需要新建工程,只需要更改下配置檔案的埠號就可以了啟動第二個節點了。