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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

Apollo系列之架构设计(一)

發(fā)布時間:2024/1/16 windows 36 coder
生活随笔 收集整理的這篇文章主要介紹了 Apollo系列之架构设计(一) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

原創(chuàng)文章,轉(zhuǎn)載請標(biāo)注。https:https://www.cnblogs.com/boycelee/p/17967590

目錄
  • 一、什么是配置中心?
  • 二、傳統(tǒng)配置有什么問題?
  • 三、配置中心的場景
  • 四、架構(gòu)設(shè)計
    • (1)基礎(chǔ)模型
    • (2)詳細(xì)架構(gòu)
  • 六、模塊介紹
    • 客戶端層
      • Client
      • Portal
    • 網(wǎng)絡(luò)層
      • NginxLB
      • Meta Server
      • Eureka
    • 服務(wù)端層
      • Config Service
      • Admin Service
  • 七、思考
      • 1、為什么NginxLB與Eureka一起使用?不使用Eureka是否可行?
      • 2、Confg Service 、Admin Service以及Portal為什么作為獨立應(yīng)用單獨部署?
  • 最后

一、什么是配置中心?

配置中心是集中管理和動態(tài)更新應(yīng)用配置信息的服務(wù),服務(wù)能夠在不停機的情況下新增或修改配置信息,具有以下關(guān)鍵特點:

(1)集中管理。配置中心集中存儲服務(wù)所需要的各類配置信息;

(2)動態(tài)變更。應(yīng)用服務(wù)不需要重啟就可以從配置中心動態(tài)獲取到最新數(shù)據(jù);

(3)通知機制。當(dāng)服務(wù)配置發(fā)生變化時,配置中心可以提供通知機制,通知應(yīng)用程序關(guān)心的配置發(fā)生變化。

能夠提高系統(tǒng)的可維護(hù)性、靈活性和實時性。

二、傳統(tǒng)配置有什么問題?

傳統(tǒng)配置會使用本地靜態(tài)文件作為存儲介質(zhì)。就存在這幾個問題:

(1)動態(tài)修改。本地靜態(tài)文件修改時必須重啟應(yīng)用,無法做到動態(tài)修改;

(2)統(tǒng)一管理。存儲格式、存儲地點都雜亂無章,無法對配置進(jìn)行統(tǒng)一規(guī)范和約束;

(3)即時生效。配置完成后,需要多機器部署完成,修改配置才能夠生效。無法做到及時通知、及時生效。

三、配置中心的場景

大體場景有如下這幾種:

(1)系統(tǒng)相關(guān)。如線程池配置信息、緩存大小、連接池大小、熔斷/限流閾值等;

(2)業(yè)務(wù)相關(guān)。如活動文案、推廣活動、積分規(guī)則、價格策略等;

(3)開關(guān)相關(guān)。A/B Test、特性開關(guān)、推送開關(guān)等;

(4)安全相關(guān)。數(shù)據(jù)庫連接信息、加密秘鑰、賬號密碼等。

四、架構(gòu)設(shè)計

(1)基礎(chǔ)模型

(2)詳細(xì)架構(gòu)

架構(gòu)圖分為三層,分別是客戶端層、網(wǎng)絡(luò)層以及服務(wù)層。其中客戶端層包括client模塊、portal模塊,網(wǎng)絡(luò)層包括Load Balancer(Nginx)和Mata Server以及Eureka,服務(wù)層包括Config Service模塊和Admin Service模塊。

六、模塊介紹

客戶端層

Client

  • 客戶端負(fù)責(zé)從Config Service獲取應(yīng)用的配置信息;
  • 監(jiān)聽配置變化。當(dāng)配置發(fā)生更新時,Config Service會通知Client,并出發(fā)其進(jìn)行配置刷新;
  • 通過ip + port的方式遠(yuǎn)程調(diào)用Config Service,以獲取配置數(shù)據(jù)。

Portal

  • 管理平臺,提供配置中心的管理功能,包括應(yīng)用創(chuàng)建、查看、修改、發(fā)布以及回滾等功能

網(wǎng)絡(luò)層

NginxLB

  • Client、Portal通過域名的方式訪問MetaServer,Nginx作為負(fù)載均衡器;
  • Nginx將請求分發(fā)到每個Meta Server服務(wù)實例,結(jié)合Eureka可以動態(tài)地獲取到注冊中心注冊的服務(wù)實例(Config Service、Admin Service)列表。

Meta Server

  • Meta Server封裝Eureka Client,通過Eureka Client獲取Config Service和Admin Service的服務(wù)信息,Client與Portal不需要關(guān)心注冊中心的服務(wù)發(fā)現(xiàn)問題;
  • Client和Portal通過ip+port的方式訪問Client Service 與 Admin Service
  • Meta Server是邏輯概念與Config Service模塊一起部署在同一實例中;
  • Meta Service還提供其他注冊中心的封裝類,其中包括Consul、Nacos、Kubernetes等;

Eureka

  • Eureka是用于服務(wù)注冊與服務(wù)發(fā)現(xiàn)的注冊中心,Config Sevice與Admin Service會定期向注冊中心上報心跳;
  • Eureka與Config Service部署在一起,簡化部署和管理。
  • 相對于Zookeeper其部署方式更便捷。

服務(wù)端層

Config Service

  • 服務(wù)于Client模塊;
  • 提供獲取配置的接口;
  • 基于長輪詢,提供配置更新接口;

Admin Service

  • 服務(wù)于Admin模塊;
  • 提供配置管理接口;
  • 提供修改、發(fā)布配置等接口。

七、思考

1、為什么NginxLB與Eureka一起使用?不使用Eureka是否可行?

(1)負(fù)載均衡(Nginx LB)。具有高可用和容錯的特性,當(dāng)Apollo配置中心節(jié)點出現(xiàn)故障時,負(fù)載均衡器可以將流量重新路由到其他可用的節(jié)點上,從而實現(xiàn)系統(tǒng)的穩(wěn)定性。

(2)服務(wù)注冊與發(fā)現(xiàn)(Eureka)。Eureka可以幫助配置中心實現(xiàn)動態(tài)的服務(wù)注冊和發(fā)現(xiàn)。Config Service動態(tài)注冊到Eureka中,而Client通過Eureka獲取可用節(jié)點列表。從而實現(xiàn)動態(tài)獲取配置中心節(jié)點變化。

(3)綜合使用Nginx負(fù)載均衡和Eureka注冊中心,可以提高配置中心的可用性和容錯性。這種架構(gòu)允許系統(tǒng)在動態(tài)環(huán)境中靈活地處理配置中心(Config Service)節(jié)點的變化,并且確保客戶端(Client)始終能夠訪問到可用的的配置中心(Config Service)節(jié)點。

(4)不使用Eureka,只使用Nginx負(fù)載均衡是可行的。這種情況下配置中心節(jié)點(Config Service)由Nginx進(jìn)行負(fù)載均衡和請求分發(fā),不需要Eureka進(jìn)行服務(wù)注冊與服務(wù)發(fā)現(xiàn)。優(yōu)點是架構(gòu)簡單,缺點是Nginx雖然可以感知到節(jié)點不可用,但其并不具備動態(tài)節(jié)點管理的能力,當(dāng)新的節(jié)點加入時,Eureka能夠及時發(fā)現(xiàn)且自動地處理,而Nginx則需要人工干預(yù)。

2、Confg Service 、Admin Service以及Portal為什么作為獨立應(yīng)用單獨部署?

(1)Confg Service和Admin Service獨立部署,是從功能解耦上考慮,Confg Service服務(wù)于Client端負(fù)責(zé)處理配置相關(guān)邏輯,而Admin Service服務(wù)于Portal管理平臺,提供接口給Portal進(jìn)行使用。從產(chǎn)品迭代角度來分析Admin Service因為服務(wù)于Protal管理平臺其迭代頻率會高于Confg Service,分開獨立部署能夠提升開發(fā)靈活性以及降低發(fā)布風(fēng)險

(2)Admin Service和Portal獨立部署,是為了環(huán)境隔離時,Protal能夠調(diào)用不同Service提供的API接口,進(jìn)行不同環(huán)境配置的統(tǒng)一管理

最后

懂得不多,做得太少。歡迎批評、指正。

總結(jié)

以上是生活随笔為你收集整理的Apollo系列之架构设计(一)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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