首先份殿,我們來嘗試使用Spring Cloud Eureka來實現(xiàn)服務(wù)治理膜钓。
Spring Cloud Eureka是Spring Cloud Netflix項目下的服務(wù)治理模塊嗽交。而Spring Cloud Netflix項目是Spring Cloud的子項目之一,主要內(nèi)容是對Netflix公司一系列開源產(chǎn)品的包裝颂斜,它為Spring Boot應用提供了自配置的Netflix OSS整合夫壁。通過一些簡單的注解,開發(fā)者就可以快速的在應用中配置一下常用模塊并構(gòu)建龐大的分布式系統(tǒng)沃疮。它主要提供的模塊包括:服務(wù)發(fā)現(xiàn)(Eureka)盒让,斷路器(Hystrix),智能路由(Zuul)司蔬,客戶端負載均衡(Ribbon)等邑茄。
下面,就來具體看看如何使用Spring Cloud Eureka實現(xiàn)服務(wù)治理葱她。
創(chuàng)建一個基礎(chǔ)的Spring Boot工程撩扒,命名為eureka-server,并在pom.xml中引入需要的依賴內(nèi)容
下面我們創(chuàng)建提供服務(wù)的客戶端吨些,并向服務(wù)注冊中心注冊自己搓谆。本文我們主要介紹服務(wù)的注冊與發(fā)現(xiàn),所以我們不妨在服務(wù)提供方中嘗試著提供一個接口來獲取當前所有的服務(wù)信息豪墅。
通過spring.application.name屬性泉手,我們可以指定微服務(wù)的名稱后續(xù)在調(diào)用的時候只需要使用該名稱就可以進行服務(wù)的訪問。eureka.client.serviceUrl.defaultZone屬性對應服務(wù)注冊中心的配置內(nèi)容偶器,指定服務(wù)注冊中心的位置斩萌。為了在本機上測試區(qū)分服務(wù)提供方和服務(wù)注冊中心,使用server.port屬性設(shè)置不同的端口屏轰。
1Services: [eureka-client]
其中颊郎,方括號中的eureka-client就是通過Spring Cloud定義的DiscoveryClient接口在eureka的實現(xiàn)中獲取到的所有服務(wù)清單。由于Spring Cloud在服務(wù)發(fā)現(xiàn)這一層做了非常好的抽象霎苗,所以姆吭,對于上面的程序,我們可以無縫的從eureka的服務(wù)治理體系切換到consul的服務(wù)治理體系中區(qū)唁盏。
從現(xiàn)在開始内狸,我這邊會將近期研發(fā)的springcloud微服務(wù)云架構(gòu)的搭建過程和精髓記錄下來,幫助更多有興趣研發(fā)spring cloud框架的朋友厘擂,希望可以幫助更多的好學者昆淡。大家來一起探討spring cloud架構(gòu)的搭建過程及如何運用于企業(yè)項目。源碼來源