摘要:作為的服務發現與注冊中心,在整個的微服務體系中,處于核心位置。通過伙伴機制實現高可用。每一臺都需要在配置中指定另外兩個的地址伙伴,啟動時會向自己的伙伴節點獲取當前已經存在的注冊表,這樣在向集群中新加機器時就不需要擔心注冊表的不完整。
1、 Eureka作為spring cloud的服務發現與注冊中心,在整個的微服務體系中,處于核心位置。單機模式下的eureka服務,顯然不能滿足高可用的實際生產環境,這就要求配置一個能夠應對各種突發情況,具有較強容災能力的eureka服務。Eureka通過“伙伴機制”實現高可用。每一臺Eureka都需要在配置中指定另外兩個Eureka的地址伙伴,Eureka啟動時會向自己的伙伴節點獲取當前已經存在的注冊表,這樣在向Eureka集群中新加機器時就不需要擔心注冊表的不完整。
2、 新建三個maven項目,分別為sc-eureka-cluster-server-node1,sc-eureka-cluster-server-node2,sc-eureka-cluster-server-node3。項目結構如下:
備注:pom.xml和EurekaServerApplication.java的內容給單機模式是一模一樣的,請參考上篇文章。
3、 主要看下bootstap.yml或者application.yml文件的改動
sc-eureka-cluster-server-node1
spring: application: name: sc-eureka-cluster-server-node1 server: port: 5001 eureka: instance: hostname: sc-eureka-cluster-server-node1 lease-renewal-interval-in-seconds: 30 lease-expiration-duration-in-seconds: 30 prefer-ip-address: true client: registerWithEureka: false fetchRegistry: false serviceUrl: defaultZone: http://sc-eureka-cluster-server-node2:5002/eureka/,http://sc-eureka-cluster-server-node3:5003/eureka/
sc-eureka-cluster-server-node2
spring: application: name: sc-eureka-cluster-server-node2 server: port: 5002 eureka: instance: hostname: sc-eureka-cluster-server-node2 lease-renewal-interval-in-seconds: 30 lease-expiration-duration-in-seconds: 30 prefer-ip-address: true client: registerWithEureka: false fetchRegistry: false serviceUrl: defaultZone: http://sc-eureka-cluster-server-node1:5001/eureka/,http://sc-eureka-cluster-server-node3:5003/eureka/
sc-eureka-cluster-server-node3
spring: application: name: sc-eureka-cluster-server-node3 server: port: 5003 eureka: instance: hostname: sc-eureka-cluster-server-node3 lease-renewal-interval-in-seconds: 30 lease-expiration-duration-in-seconds: 30 prefer-ip-address: true client: registerWithEureka: false fetchRegistry: false serviceUrl: defaultZone: http://sc-eureka-cluster-server-node1:5001/eureka/,http://sc-eureka-cluster-server-node2:5001/eureka/
4、 配置host文件C:WindowsSystem32driversetchosts
127.0.0.1 sc-eureka-cluster-server-node1 127.0.0.1 sc-eureka-cluster-server-node2 127.0.0.1 sc-eureka-cluster-server-node3
5、 分別啟動EurekaServerApplication.java
sc-eureka-cluster-server-node1的日志:
sc-eureka-cluster-server-node2的日志:
sc-eureka-cluster-server-node3的日志
如果出現上面圈住的日志說明啟動成功
6、 在瀏覽器分別訪問
http://sc-eureka-cluster-serv...:5001/
http://sc-eureka-cluster-serv...:5002/
http://sc-eureka-cluster-serv...:5002/
下面列出幾個重要的配置項類:
org.springframework.boot.autoconfigure.web.ServerProperties
org.springframework.cloud.netflix.eureka.EurekaInstanceConfigBean
com.netflix.eureka.EurekaServerConfig
com.netflix.eureka.DefaultEurekaServerConfig
org.springframework.cloud.netflix.eureka.server.EurekaServerConfigBean
com.netflix.discovery.EurekaClientConfig
com.netflix.discovery.DefaultEurekaClientConfig
org.springframework.cloud.netflix.eureka.EurekaClientConfigBean
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/74889.html
在微服務架構中,注冊中心是一個必不可少的組件 前面我們搭建的注冊中心只適合本地開發使用,在生產環境必須搭建一個集群來保證高可用 Eureka的集群搭建很簡單,每一臺Eureka都需要在配置中指定另外N個Eureka的地址就可以 下面我們以2個節點來說明 我們有master和slaveone 2臺機器,需要做的就是: master注冊到slaveone上面 slaveone注冊到master上面即...
SpringCloud(第 051 篇)EurekaServer集群高可用注冊中心以及簡單的安全認證 - 一、大致介紹 1、前面章節分析了一下 Eureka 的源碼,我們是不是在里面注意到了 Peer 節點的復制,為什么要復制節點同步信息呢,其實就是為了同一個集群之間的EurekaServer一致性方案的一個實現; 2、于是我們在本章節就真正的來通過代碼來實現一下EurekaServer之間的高...
摘要:是一個相對比較新的微服務框架,年才推出的版本雖然時間最短但是相比等框架提供的全套的分布式系統解決方案。提供線程池不同的服務走不同的線程池,實現了不同服務調用的隔離,避免了服務器雪崩的問題。通過互相注冊的方式來進行消息同步和保證高可用。 Spring Cloud 是一個相對比較新的微服務框架,...
摘要:微服務也同樣在這兩個機房之間都有部署。但是,大家看粉紅色粗體的線條,仍然存在跨機房調用,天津網關調用到北京微服務。相當于網關以及微服務兩側都是通過基于權重的負載均衡算法來盡量減少跨機房調用的,但是無法避免跨機房調用。 ...
摘要:服務續約在服務注冊完成之后,服務提供者需要維護一個心跳來告知注冊中心服務實例處于正常運行狀態中,防止注冊中心將正常的服務實例剔除出注冊中心。 Spring Cloud Eureka 目錄 前言 構建服務注冊中心 服務注冊與發現 Eureka的基礎架構 Eureka的服務治理機制 Eureka的配置 代碼地址 前言 服務治理 ?隨著微服務應用的不斷增加,靜態配置會越來越難以維護,并且...
閱讀 2587·2021-11-25 09:43
閱讀 1864·2021-09-22 15:26
閱讀 3747·2019-08-30 15:56
閱讀 1716·2019-08-30 15:55
閱讀 1901·2019-08-30 15:54
閱讀 819·2019-08-30 15:52
閱讀 3161·2019-08-29 16:23
閱讀 899·2019-08-29 12:43