spring cloud eureka之服務端
阿新 • • 發佈:2018-05-19
eureka一、依賴
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
<version>2.0.0.RC1</version>
</dependency>
二、啟動類增加註解
@SpringBootApplication @EnableEurekaServer public class ServiceRegisterCenterDemoApplication { public static void main(String[] args) { SpringApplication.run(ServiceRegisterCenterDemoApplication.class, args); } }
三、單機註冊中心配置
spring.application.name=service-register-center-demo server.port=19001 eureka.instance.hostname=localhost eureka.instance.app-group-name=test_group eureka.instance.appname=register_center eureka.instance.health-check-url-path=/health eureka.instance.status-page-url-path=/status eureka.client.enabled=true eureka.client.register-with-eureka=false eureka.client.fetch-registry=false eureka.client.serviceUrl.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka/
通過http://localhost:19001/ 可以訪問到該服務的情況,圖下:
通過http://localhost:19001/actuator 查看健康檢查情況。
註意:
- eureka.instance.appname對應的是網頁面板中,instaces下的application name;
- eureka.client.register-with-eureka=false表示不將本instance註冊到服務中心。反之,則會註冊。可以通過面板中的instances列表查看;
- eureka.client.fetch-registry=false表示是否從註冊中心拉取服務列表;
- 對於單機的註冊中心,是否沒有備份(復制)節點。在面板中,General Info下的registered-replicas、unavailable-replicas、available-replicas三項中都是空的。
- 從中可以看出,註冊服務中心也可以是client,同樣可以將自身實例註冊到服務中心。
四、多個對等註冊中心配置
instance 1
spring.application.name=service-register-center-demo
server.port=19001
eureka.instance.hostname=peer1
eureka.instance.app-group-name=test_group
eureka.instance.appname=register_center1
eureka.instance.health-check-url-path=/health
eureka.instance.status-page-url-path=/status
#eureka.client.enabled=true
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
eureka.client.serviceUrl.defaultZone=http://peer2:19001/eureka/
instance 2
spring.application.name=service-register-center-1-demo
server.port=19002
eureka.instance.hostname=peer2
eureka.instance.app-group-name=test_group
eureka.instance.appname=register_center2
eureka.instance.health-check-url-path=/health
eureka.instance.status-page-url-path=/status
#eureka.client.enabled=true
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
eureka.client.serviceUrl.defaultZone=http://peer1:19002/eureka/
註意:
- 對於單機配置多peer node,需要修改hosts文件;
- 與單機配置不同的是,eureka.client.serviceUrl.defaultZone需要相互配置,並可以配置多個(逗號隔開)
五、配置參數說明
- eureka.instance.hostname可以不設置。默認會是serviceUrl中的主機名,如:localhost
- eureka.client.serviceUrl.defaultZone可以使用eureka.instance.hostname,也可以直接設置IP;
- eureka.instance.appname表示instance名稱。同樣也可以不設置,則采用spring.application.name的值;
- eureka.client.register-with-eureka=false表示不將本instance註冊到服務中心。反之,則會註冊。可以通過面板中的instances列表查看;
- eureka.client.fetch-registry=false表示是否從註冊中心拉取服務列表;
spring cloud eureka之服務端