1. 程式人生 > >Spring-cloud微服務實戰【四】:eureka註冊中心(下)

Spring-cloud微服務實戰【四】:eureka註冊中心(下)

回憶一下,在上一篇文章中,我們使用eureka作為註冊中心,將producer註冊到eureka,並且在consumer中通過eureka發現producer服務進行呼叫,讓我們來分析一下,這樣是否已經足夠完美,還有沒有什麼問題?
1.首先,eureka沒有任何安全驗證,任何應用都可以訪問,這顯然不安全,因此eureka也需要使用spring-security配置使用者密碼驗證.
2.其次,所有服務註冊和發現都需要通過eureka,而我們的eureka目前是單機執行,這就有可能導致單點問題,一旦eureka掛了,整個微服務就無法正常使用了,因此,我們的eureka需要叢集執行.

eureka-server新增spring-security認證

首先,在eureka-server專案新增spring-security的maven依賴:

其次,修改配置檔案:

此時還需要修改producer配置檔案:

以及consumer專案的配置檔案:

此時,如果是1.x的版本就可以了,但是2.x版本還不行.還得在eureka-server專案新增一個配置類:

然後啟動eureka-server以及producer和consumer檢視:

說明eureka-server新增安全驗證成功.接下來,我們需要將eureka-server進行叢集部署,簡單起見,我們直接使用IDEA用eureka-server修改埠啟動多個進行部署:

然後修改埠號和hostname,分別啟動:

可以看到,叢集已經啟動成功,接下來修改producer和consumer:

再訪問一下consumer:

再關閉eureka叢集中的一或者兩個服務,我關閉了server1和server2,訪問consumer試一試:



可以看到consumer仍然可以訪問,因此eureka-server使用叢集部署保證了eureka-server的高可用.
自此,我們的eureka註冊中心真正完整了,接下來,我們會講spring-cloud中的負載均衡ribbon,敬請期待下一篇文章!

本文的GitHub地址

本文由部落格一文多發平臺 OpenWrite 釋出!