javascript
Spring Cloud——Eureka——架构体系
1、概述
Eureka包括兩個(gè)端:
- Eureka Server:注冊(cè)中心服務(wù)端,用于維護(hù)和管理注冊(cè)服務(wù)列表。
- Eureka Client:注冊(cè)中心客戶(hù)端,向注冊(cè)中心注冊(cè)服務(wù)的應(yīng)用都可以叫做Eureka Client(包括Eureka Server本身)。
Eureka官方wiki的架構(gòu)圖。
Eureka Server:表示注冊(cè)中心集群
us-east-xxx:表示集群所在的區(qū)域
Application Service:表示服務(wù)提供者
Application Client:表示服務(wù)消費(fèi)者
Eureka Client:表示Eureka客戶(hù)端
如圖所示,現(xiàn)在有三個(gè)區(qū)us-east-1c,us-east-1d,us-east-1e,每個(gè)區(qū)里都有一個(gè)Eureka Server集群,以及不定的Application Service和Application Client。
2、同區(qū)域的服務(wù)注冊(cè)與調(diào)用過(guò)程
us-east-1c區(qū)域代表了同區(qū)域內(nèi)的服務(wù)注冊(cè)與調(diào)用過(guò)程。
3、不同區(qū)域的服務(wù)注冊(cè)與調(diào)用過(guò)程
三個(gè)區(qū)域us-east-1c,us-east-1d,us-east-1e結(jié)合在一起代表了不同區(qū)域內(nèi)的服務(wù)注冊(cè)與調(diào)用過(guò)程。
us-east-1e內(nèi)的Application Service啟動(dòng)后,向本區(qū)內(nèi)的Eureka Server注冊(cè)服務(wù)信息。并跟本區(qū)內(nèi)的Eureka Server維持心跳續(xù)約。
us-east-1d內(nèi)的Application Client啟動(dòng)后,從本區(qū)內(nèi)的Eureka Server拉取注冊(cè)列表。
4、服務(wù)續(xù)約、下線(xiàn)、剔除
4.1 服務(wù)續(xù)約
Application Service內(nèi)的Eureka Client后臺(tái)啟動(dòng)一個(gè)定時(shí)任務(wù),跟Eureka Server保持一個(gè)心跳續(xù)約任務(wù),每隔一段時(shí)間(默認(rèn)30S)向Eureka Server發(fā)送一次renew請(qǐng)求,進(jìn)行續(xù)約,告訴Eureka Server我還活著,防止被Eureka Server的Evict任務(wù)剔除。
4.2 服務(wù)下線(xiàn)
Application Service應(yīng)用停止后,向Eureka Server發(fā)送一個(gè)cancel請(qǐng)求,告訴注冊(cè)中心我已經(jīng)退出了,Eureka Server接收到之后會(huì)將其移出注冊(cè)列表,后面再有獲取注冊(cè)服務(wù)列表的時(shí)候就獲取不到了,防止消費(fèi)端消費(fèi)不可用的服務(wù)。
4.3 服務(wù)剔除
Eureka Server啟動(dòng)后在后臺(tái)啟動(dòng)一個(gè)Evict任務(wù),對(duì)一定時(shí)間內(nèi)沒(méi)有續(xù)約的服務(wù)進(jìn)行剔除。
值得注意的是,注冊(cè)、續(xù)約、下線(xiàn)的請(qǐng)求默認(rèn)優(yōu)先選擇本區(qū)域內(nèi)的Eureka Server,只有當(dāng)本區(qū)內(nèi)的Eureka Server都不可用,才會(huì)選擇其他區(qū)的Eureka Server。
4.4 服務(wù)通訊方式
服務(wù)間使用標(biāo)準(zhǔn)的REST方式通訊,所以Eureka服務(wù)注冊(cè)中心并不僅適用于Java平臺(tái),其他平臺(tái)也可以納入到服務(wù)治理平臺(tái)里面。只不過(guò)其他平臺(tái)需要根據(jù)協(xié)議實(shí)現(xiàn)不同的客戶(hù)端。目前已知實(shí)現(xiàn)的有net、nodejs、python。
5、拓展
源碼解析:
https://blog.csdn.net/neosmith/article/details/53131023
總結(jié)
以上是生活随笔為你收集整理的Spring Cloud——Eureka——架构体系的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: mysql 1030 error:Got
- 下一篇: 微信怎么开夜间模式是什么