日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 前端技术 > javascript >内容正文

javascript

Spring Cloud——Eureka——架构体系

發(fā)布時(shí)間:2023/12/4 javascript 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring Cloud——Eureka——架构体系 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1、概述

Eureka包括兩個(gè)端:

  • Eureka Server:注冊(cè)中心服務(wù)端,用于維護(hù)和管理注冊(cè)服務(wù)列表。
  • Eureka Client:注冊(cè)中心客戶端,向注冊(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客戶端

如圖所示,現(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ò)程。

  • Application Service啟動(dòng)后向Eureka Server注冊(cè)中心注冊(cè)服務(wù),包括IP、Port、服務(wù)名等信息。
  • Application Client啟動(dòng)后從Eureka Server拉取注冊(cè)列表。
  • Application Client發(fā)起遠(yuǎn)程調(diào)用的時(shí)候優(yōu)先調(diào)用本區(qū)域內(nèi)的Application Service。如果本區(qū)內(nèi)沒(méi)有可用的Application Service,才會(huì)發(fā)起對(duì)其他區(qū)內(nèi)的Service調(diào)用。
  • 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-1c內(nèi)的Application Service啟動(dòng)后,向本區(qū)內(nèi)的Eureka Server注冊(cè)服務(wù)信息。并跟本區(qū)內(nèi)的Eureka Server維持心跳續(xù)約。
  • Eureka Server會(huì)將服務(wù)信息同步至相鄰的us-east-1d的Eureka Server以及us-east-1e的Eureka Server
    us-east-1e內(nèi)的Application Service啟動(dòng)后,向本區(qū)內(nèi)的Eureka Server注冊(cè)服務(wù)信息。并跟本區(qū)內(nèi)的Eureka Server維持心跳續(xù)約。
  • Eureka Server會(huì)將服務(wù)信息同步至相鄰的us-east-1d的Eureka Server以及us-east-1c的Eureka Server
    us-east-1d內(nèi)的Application Client啟動(dòng)后,從本區(qū)內(nèi)的Eureka Server拉取注冊(cè)列表。
  • us-east-1d內(nèi)的Application Client發(fā)起遠(yuǎn)程調(diào)用時(shí),會(huì)先檢索本區(qū)有沒(méi)有可用的Application Service,如果沒(méi)有就會(huì)通過(guò)某種算法調(diào)用us-east-1c或us-east-1e中的Application Service服務(wù)。
  • 4、服務(wù)續(xù)約、下線、剔除

    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ù)下線

    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ù)約、下線的請(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)不同的客戶端。目前已知實(shí)現(xiàn)的有net、nodejs、python。

    5、拓展

    源碼解析:
    https://blog.csdn.net/neosmith/article/details/53131023

    總結(jié)

    以上是生活随笔為你收集整理的Spring Cloud——Eureka——架构体系的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。