1、 Eureka的服務認證spring
一、 服務端添加依賴安全
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency>
二、 服務端添加配置app
# 服務認證spring-boot
security.basic.enabled=true security.user.name=roncoo security.user.password=123456
三、 修改服務端和客戶端的配置微服務
eureka.client.serviceUrl.defaultZone=http://roncoo:123456@localhost:8761/eureka/
建議:測試
能在內網的,儘可能在內網,這樣既能夠保障安全,也能下降複雜度。this
2、 Eureka的集羣url
說明:啓動3個註冊中心,咱們將roncoo一、roncoo二、roncoo3各自都將serviceUrl指向另外兩個節點,便是roncoo一、roncoo二、roncoo3是兩兩互相註冊的。視頻
步驟:server
一、設置hosts:C:\Windows\System32\drivers\etc\hosts;
# Cluster hosts 127.0.0.1roncoo1 127.0.0.1roncoo2 127.0.0.1roncoo3
二、修改配置
每一個服務都須要相應的修改,服務-01
spring.application.name=spring-cloud-server-01 eureka.instance.hostname=roncoo1 eureka.client.serviceUrl.defaultZone=http://roncoo:123456@roncoo2:8762/eureka/,http://roncoo:123456@roncoo3:8763/eureka/
同理:服務-02,服務-03都作相對應的修改
三、配置修改
#這裏是爲了測試,生產應該保持默認值:30s
eureka.instance.lease-renewal-interval-in-seconds=5
#剔除失效服務的檢測時間,默認值:60000,即60s
eureka.server.eviction-interval-timer-in-ms=5000
另外一種集羣方式(不可用):
說明:註冊中心1指向註冊中心2, 註冊中心2指向註冊中心3,那麼當服務向註冊中心1註冊時,註冊中心2中會有該服務的註冊信息,可是註冊中心3中沒有。
結論:服務註冊信息不會被二次傳播。
證明:PeerAwareInstanceRegistryImpl類
// If it is a replication already, do not replicate again as this will create a poison replication
若是該註冊信息是其它Eureka同步過的則不會再繼續傳播給本身的peer節點
// If the url represents this host, do not replicate to yourself.
若是是本機的,不要向本身發同步請求
參考微服務視頻內容:http://www.roncoo.com/