當前位置:
首頁 > 知識 > Spring Cloud註冊中心——Eureka&集群

Spring Cloud註冊中心——Eureka&集群

Spring Cloud註冊中心——Eureka&集群

Eureka

做微服務,註冊中心是少不了的,之前用Dubbo的時候用的是Zookeeper,Spring Cloud也有自己的註冊中心——Eureka。


Eureka註冊中心

按照之前的文章《極簡Spring Boot搭建、開發、部署》在http://start.spring.io 構建一個Spring Boot工程,dependencies選web、Eureka Server。

pom.xml:

重要配置如下:

Spring Cloud註冊中心——Eureka&集群

1

Spring Cloud註冊中心——Eureka&集群

2

Spring Cloud註冊中心——Eureka&集群

3

Spring Cloud註冊中心——Eureka&集群

4

Spring Cloud註冊中心——Eureka&集群

5

代碼&配置:

結構:

Spring Cloud註冊中心——Eureka&集群

代碼結構

啟動類:

Spring Cloud註冊中心——Eureka&集群

啟動類

簡單至極,就加上@EnableEurekaServer即可,沒其他代碼了。

application.yml:Spring Cloud註冊中心——Eureka&集群

配置文件

說明:

埠號就不解釋了。

A, 可以不配置,在eureka的監控頁面上有個environment,會顯示test。

B, hostname也可以不配置,在D上直接寫死即可,不過後面我們會配置Eureka集群,這裡最好還是配上,當然不會是localhost了。

C, 因為我們這個是服務端,所以自己不會去註冊自己。下面我們會寫需要註冊的服務,這兩個必須是true。

D,可以寫死。

直接啟動,訪問http://127.0.0.1:8864,會看到以下頁面:

Spring Cloud註冊中心——Eureka&集群

監控頁面

注意紅框。


Eureka客戶端

需要註冊的服務,去http://start.spring.io 構建一個Spring Boot工程,dependencies選web、Eureka Discovery。

pom.xml:

與註冊中心基本相同,區別如下:

Spring Cloud註冊中心——Eureka&集群

pom

代碼&配置:

Spring Cloud註冊中心——Eureka&集群

啟動類

就加一個@EnableDiscoveryClient註解即可。

Spring Cloud註冊中心——Eureka&集群

application.yml

A, 服務名。

B, 需要向註冊中心註冊,且讀取註冊信息。

C, 註冊中心的url。

先啟動註冊中心,再啟動本服務,訪問http://127.0.0.1:8864,監控頁面如下:

Spring Cloud註冊中心——Eureka&集群

監控頁面

已經註冊進去了,其他服務就可以調用了。

還有一些配置,比如心跳發送間隔、註冊中心多久沒收到心跳就剔除服務等,大家可以自己查詢API。

Eureka註冊中心集群

單節點的註冊中心開發環境中還可以,生產環境就得上高可用了。

程序代碼不需要改,但是要部署到不同的伺服器或虛擬機或Docker上,IP、Hostname肯定不一樣了。要麼是打包之後修改配置文件,要麼是配置好配置文件,在啟動的時候指定。

規劃:

Spring Cloud註冊中心——Eureka&集群

規劃

先在三台伺服器中修改hosts,把ip和hostname對應上。別忘了把防火牆中相應的埠打開。

配置文件:

修改application.yml,內容如下:

Spring Cloud註冊中心——Eureka&集群

server1

Spring Cloud註冊中心——Eureka&集群

server2

Spring Cloud註冊中心——Eureka&集群

server3

具體就不解釋了,都看得懂。

啟動&測試:

打包之後,分別上傳到伺服器中,使用以下命令啟動:


java -jar eurekaserver-0.0.1-SNAPSHOT.jar --spring.profiles.active=eurekaserver1

java -jar eurekaserver-0.0.1-SNAPSHOT.jar --spring.profiles.active=eurekaserver2

java -jar eurekaserver-0.0.1-SNAPSHOT.jar --spring.profiles.active=eurekaserver3

在我們的Windows系統中,如果也配置了hosts,可以通過hostname:port來訪問,如果沒有,就直接訪問ip地址。

三個監控頁面如下:

Spring Cloud註冊中心——Eureka&集群

server1

Spring Cloud註冊中心——Eureka&集群

server2

Spring Cloud註冊中心——Eureka&集群

server3

客戶端配置:

只需要把defaultZone一個URL地址改成三個即可,用,分隔。

啟動服務之後,可以刷新一下Eureka的三個監控頁面,客戶端已經註冊進去了。

下一篇講網關Zuul,如果時間夠就把負載(Ribbon)一起講了,不夠就再下一篇

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Java個人學習心得 的精彩文章:

極簡Spring Boot搭建、開發、部署
對於Zookeeper一些面試題自己的答案
對於Dubbo一些面試題自己的答案
Dubbo消費者提供者簡單例子
Java單例模式的學習筆記

TAG:Java個人學習心得 |

您可能感興趣

深入 JVM 分析 spring-boot 應用 hibernate-validatorNoClassDefFoundError
Spring中BeanFactory和ApplicationContext 的區別
Spring Security 5.0 的 DelegatingPasswordEncoder 詳解
網關 Spring-Cloud-Gateway 源碼解析——路由之RouteDefinitionLocator一覽
SpringCloud實現Eureka集群配置
Spring整合Hibernate.Final
Spring security + oauth2.0 + redis + mybatis plus 搭建微服務
深入 SpringBoot : 怎樣排查 expectedsinglematchingbeanbutfound 2 的異常
Spring Cloud Alibaba Sentinel 整合 Feign 的設計實現
SpringBoot:SpringDataRedis緩存改造
使用Spring Cloud和Reactor在微服務中實現Event Sourcing
spring cloud netflix:斷路器之Hystrix Dashboard
回顧La Perla』s spring/summer 2018 collections at The Venetian
spring-cloud 服務網關中的 Timeout 設置
Spring Boot 配置文件 yml與properties
Spring Cloud Gateway的After路由斷言工廠
Spring Cloud服務發現與服務註冊Eureka + Eureka Server的搭建
Spring data MongoDB 之 MongoRepository
乾貨——Spring-Security-Mybatis-Demo
SpringCloud統一配置中心Config Client