SpringCloud架構(gòu)開發(fā)實戰(zhàn):實現(xiàn)服務負載均衡及高可用
實現(xiàn)服務的負載均衡及高可用
在前面我們重新實現(xiàn)了微服務,其中天氣數(shù)據(jù)采集微服務、天氣預報微服務都重新采用了Feign技術(shù),以便通過應用的名稱來訪問外部RESTful服務。結(jié)合Eureka部署實例,就能實現(xiàn)微服務的負載均衡及高可用。

天氣預報系統(tǒng)的微服務
截至目前,天氣預報系統(tǒng)的最新版本微服務共有以下4個。
msa-weather-collection-cureka-feign:基于msa-weather-collection-cureka和Feign實現(xiàn)的天氣數(shù)據(jù)采集微服務。
msa-weather-data-eureka:天氣數(shù)據(jù)API微服務。
.msa-weather-city-eureka:城市數(shù)據(jù)微服務。
msa-weather-report-cureka-feign:基于msa-weather-report-cureka和Feign實現(xiàn)的天氣預報采集微服務。
運行微服務實例
我們先運行Eureka Server實例
micro-weather-cureka-server,它啟動在8761端口。
其次要運行Redis服務器。
而后我們分別在8081和8082上啟動了
msa-weather-collection-cureka-feign'實例兩個,在8083和8084上啟動了msa-weather-data-eureka實例兩個,在8085和8086上啟動了msa-weather-city-eu-reka實例兩個,在8087和8088上啟動了msa-weather-report-eureka-feign實例兩個。啟動腳本如下。
java -jar micro-weather-eureka-server-1.0.0.jar --server.port=8761
java -jar msa-weather-collection-eureka-feign-1.0.0.jar--server.port=8081
java-jar msa-weather-collection-eureka-feign-1.0.0.jar --server.port=8082
java -jar msa-weather-data-eureka-1.0.0.jar--server.port=8083
java -jarmsa-weather-data-eureka-1.0.0.jar --server.port=8084
java -jar msa-weather-city-eureka-1.0.0.jar --server.port=8085
java-jar msa-weather-city-eureka-1.0.0.jar --server.port=8086
java-jar msa-weather-report-eureka-feign-1.0.0.jar --server.port=8087
java -jar msa-weather-report-eureka-feign-1.0.0.jar --server.port=8088這樣,就可以在Eureka Server上看到這8個實例的信息。訪問http://localhost:8761,可以看到如圖9-3所示的Eureka Server自帶的UI管理界面。

測試天氣預報服務
訪問天氣預報微服務的任意一個實例,都能夠正常使用天氣預報服務。例如,我們通過瀏覽器訪問其中一個實例
http:/localhost:8088/reportlcityld/101280601,能看到如圖9-4所示的天氣預報服務界面。

我們可以關閉其他微服務的任意一個實例來模擬故障。例如,關閉城市數(shù)據(jù)微服務中的一個實例,只要還有另一個實例在正常運行,那么,天氣預報系統(tǒng)就仍然能夠正常使用。這說明天氣預報系統(tǒng)已經(jīng)具備了負載均衡的功能,以及能夠在服務異常的情況下保證整個系統(tǒng)的可用性的能力。
源碼
本節(jié)示例所涉及的源碼,見
micro-weather-eureka-server、msa-weather-data-cureka和 msa-weather-city-eureka,以及msa-weather-collection-cureka-feign和 msa-weather-report-eureka-feign。
本篇文章內(nèi)容給大家講解的是實現(xiàn)服務的負載均衡及高可用
下篇文章給大家講解API網(wǎng)關的意義和常見API網(wǎng)關的實現(xiàn)方式;
覺得文章不錯的朋友可以轉(zhuǎn)發(fā)此文關注小編;
感謝大家的支持
本文就是愿天堂沒有BUG給大家分享的內(nèi)容,大家有收獲的話可以分享下,想學習更多的話可以到微信公眾號里找我,我等你哦。
