回憶一下,在上一篇文章中,咱們使用eureka做爲註冊中心,將producer註冊到eureka,而且在consumer中經過eureka發現producer服務進行調用,讓咱們來分析一下,這樣是否已經足夠完美,還有沒有什麼問題?
1.首先,eureka沒有任何安全驗證,任何應用均可以訪問,這顯然不安全,所以eureka也須要使用spring-security配置用戶密碼驗證.
2.其次,全部服務註冊和發現都須要經過eureka,而咱們的eureka目前是單機運行,這就有可能致使單點問題,一旦eureka掛了,整個微服務就沒法正常使用了,所以,咱們的eureka須要集羣運行.git
首先,在eureka-server項目新增spring-security的maven依賴:
github
其次,修改配置文件:
spring
此時還須要修改producer配置文件:
安全
以及consumer項目的配置文件:
負載均衡
此時,若是是1.x的版本就能夠了,可是2.x版本還不行.還得在eureka-server項目新增一個配置類:
maven
而後啓動eureka-server以及producer和consumer查看:
微服務
說明eureka-server新增安全驗證成功.接下來,咱們須要將eureka-server進行集羣部署,簡單起見,咱們直接使用IDEA用eureka-server修改端口啓動多個進行部署:
3d
而後修改端口號和hostname,分別啓動:
server
能夠看到,集羣已經啓動成功,接下來修改producer和consumer:
blog
再訪問一下consumer:
再關閉eureka集羣中的一或者兩個服務,我關閉了server1和server2,訪問consumer試一試:
能夠看到consumer仍然能夠訪問,所以eureka-server使用集羣部署保證了eureka-server的高可用. 自此,咱們的eureka註冊中心真正完整了,接下來,咱們會講spring-cloud中的負載均衡ribbon,敬請期待下一篇文章!
本文由博客一文多發平臺 OpenWrite 發佈!