SpringCloud服務註冊與發現Eureka
阿新 • • 發佈:2018-12-07
一、建立Eureka Server作為服務註冊中心
二、新增pom.xml檔案依賴
<!--eureka server -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
三、啟動一個服務註冊中心
只需要一個註解@EnableEurekaServer,這個註解需要在springboot工程的啟動application類上加:
@EnableEurekaServer
@SpringBootApplication
public class EurekaserverApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaserverApplication.class, args);
}
}
四、配置檔案appication.yml
每一個例項註冊之後需要向註冊中心傳送心跳(因此可以在記憶體中完成),在預設情況下erureka server也是一個eureka client ,必須要指定一個 server。eureka server的配置檔案appication.yml:
server:
port: 8090
eureka:
instance:
hostname: localhost
client:
registerWithEureka: false
fetchRegistry: false
serviceUrl:
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
通過eureka.client.registerWithEureka:false和fetchRegistry:false來表明自己是一個eureka server。
五、啟動工程,開啟瀏覽器訪問: http://localhost:8090
六、建立一個服務提供者 (eureka client)
當client向server註冊時,它會提供一些元資料,例如主機和埠,URL,主頁等。Eureka server 從每個client例項接收心跳訊息。 如果心跳超時,則通常將該例項從註冊server中刪除。
建立過程同server類似,建立完pom.xml如下:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
通過註解@EnableEurekaClient 表明自己是一個eurekaclient.
@SpringBootApplication
@EnableEurekaClient
@RestController
public class ServiceHiApplication {
public static void main(String[] args) {
SpringApplication.run(ServiceHiApplication.class, args);
}
@Value("${server.port}")
String port;
@RequestMapping("/hi")
public String home(@RequestParam String name) {
return "hi "+name+",i am from port:" +port;
}
}
application.yml配置檔案如下:
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8090/eureka/
server:
port: 8091
spring:
application:
name: service-hi
七、開啟 http://localhost:8091/hi?name=lyh ,你會在瀏覽器上看到 :
hi lyh,i am from port:8091