1. 程式人生 > >SpringCloud 服務的註冊與發現(Eureka)

SpringCloud 服務的註冊與發現(Eureka)

SpringCloud簡介:

       Spring Cloud 是一系列框架的有序集合,它利用 Spring Boot 的開發便利性簡化了分散式系統的開發,比如服務發現、服務閘道器、服務路由、鏈路追蹤等。Spring Cloud 並不重複造輪子,而是將市面上開發得比較好的模組整合進去,進行封裝,從而減少了各模組的開發成本。換句話說:Spring Cloud 提供了構建分散式系統所需的“全家桶”。
       Spring Cloud 是一套完整的微服務解決方案,基於 Spring Boot 框架,準確的說,它不是一個框架,而是一個大的容器,它將市面上較好的微服務框架整合進來,從而簡化了開發者的程式碼量。

一、建立服務註冊中心

使用Spring腳手架快速構建專案

然後next在選擇EurekaServer 

專案建立完成後 在application.yml 在配置Eureka的一些配置

server:
  port: 9999
spring:
  application:
    name: eureka-server #應用名稱
eureka:
  client:
    register-with-eureka: false #表示是否註冊自己的資訊EurekaServer,預設為true
    fetch-registry: false #表示是否拉取其他服務的資訊,預設為true
    service-url:
      defaultZone: http://127.0.0.1:${server.port}/eureka 

然後在啟動類加入@EnableEurekaServer註解表示這是個Eureka註冊中心。

以上完成開始測試 訪問 http://localhost:9999/ 看到下圖表示Ok.

二、建立一個服務提供者 (eureka client)

通過Spring腳手架建立 在最後第二步選擇web就可以了,建立完成在pom里加入如下配置

	<!--springCloud配置-->
		<dependencies>
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-dependencies</artifactId>
				<version>Finchley.SR2</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>

    <!--eurekaZ client-->
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
		</dependency>

  配置 application.yml

server:
  port: 8888 #埠
spring:
  application:
    name: user-server #應用名稱 服務與服務之間相互呼叫一般都是根據這個name 
eureka:
  client:
    service-url:
      defaultZone: http://127.0.0.1:9999/eureka

 在啟動類加 註解@EnableEurekaClient 表明自己是一個eurekaclient

 然後啟動測試 訪問  http://localhost:9999/ 發現user-server註冊進來了。

 

  這樣最簡單的服務註冊與發現就這樣完成了。