成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

聊聊分布式系統(tǒng)中的服務發(fā)現(xiàn)!

系統(tǒng)
在分布式系統(tǒng)中,為了方便多個服務需要在網(wǎng)絡上相互交互,我們需要一種機制使得這些服務能夠有效地相互查找和通信,因此,本文我們將探討一種常見的方案:服務發(fā)現(xiàn)。

在分布式系統(tǒng)中,為了方便多個服務需要在網(wǎng)絡上相互交互,我們需要一種機制使得這些服務能夠有效地相互查找和通信,因此,本文我們將探討一種常見的方案:服務發(fā)現(xiàn)。

一、什么是服務發(fā)現(xiàn)?

服務發(fā)現(xiàn)是一種允許在分布式系統(tǒng)中自動檢測和追蹤網(wǎng)絡中的各個服務實例,它主要解決的問題是服務的動態(tài)注冊、查找和負載均衡。

二、服務發(fā)現(xiàn)的類型

通常來說服務發(fā)現(xiàn)有兩種主要類型:客戶端發(fā)現(xiàn)和服務器端發(fā)現(xiàn)。

1.客戶端發(fā)現(xiàn)

在客戶端發(fā)現(xiàn)中,服務使用者負責查詢服務注冊表以查找可用的服務實例,然后在這些實例之間對請求進行負載均衡。

優(yōu)勢:易于實施和理解。減少中央負載均衡器上的負載。

缺點:

  • 使用者需要實現(xiàn)發(fā)現(xiàn)邏輯。
  • 注冊表協(xié)議中的更改需要客戶端中的更改。

比如,Netflix Eureka就是一個客戶端服務發(fā)現(xiàn)的注冊中心。

2.服務器端發(fā)現(xiàn)

在服務器端發(fā)現(xiàn)中,服務使用者向中介(負載均衡器或 API 網(wǎng)關)發(fā)出請求,然后中介查詢服務注冊表并將請求路由到相應的服務實例。

優(yōu)勢:

  • 集中發(fā)現(xiàn)邏輯,降低使用者的復雜性。
  • 更易于管理和更新發(fā)現(xiàn)協(xié)議。

缺點

  • 引入了一個額外的網(wǎng)絡躍點。
  • 負載均衡器可能成為單點故障。

比如,AWS Elastic Load Balancer(ELB)與 AWS服務注冊表集成,以實現(xiàn)服務器端發(fā)現(xiàn)。

三、服務發(fā)現(xiàn)如何工作?

1.三個組件

服務發(fā)現(xiàn)包含三個重要的組件:服務提供者、服務使用者和服務注冊表,它們之間的關系如下圖:

  • 服務提供者(Service Provider):服務提供者在進入系統(tǒng)時向服務注冊中心注冊,并在離開系統(tǒng)時取消注冊。
  • 服務使用者(Service Consumer):服務使用者從服務注冊表中獲取提供者的信息,然后連接到服務提供者。
  • 服務注冊表(Service Registry):服務注冊表是保存服務提供者的相關信息,當服務提供者有變更時,注冊表也能感知,以便客戶端可以通過從服務注冊表獲取最新數(shù)據(jù)。

2.工作原理

  • 服務注冊:每個服務實例在啟動時會向一個服務注冊中心(Service Registry)注冊自己,包括服務名、實例ID、IP地址、端口號等信息。
  • 服務發(fā)現(xiàn):客戶端需要訪問某個服務時,會先查詢服務注冊中心以獲取可用的服務實例列表,然后選擇一個實例進行調(diào)用。
  • 健康檢查:服務注冊中心定期對注冊的服務實例進行健康檢查,確保只有健康的實例在列表中,故障實例會被移除。
  • 負載均衡:在客戶端從服務注冊中心獲取服務實例列表后,通常會使用某種負載均衡策略(如輪詢、隨機、最小連接數(shù)等)來選擇具體的服務實例進行請求。

四、服務發(fā)現(xiàn)的重要性

  • 減少手動配置:服務可以動態(tài)發(fā)現(xiàn)并相互連接,無需手動配置和硬編碼網(wǎng)絡位置。
  • 改進的可擴展性:隨著新服務實例的添加或刪除,服務發(fā)現(xiàn)可確保其他服務能夠無縫適應不斷變化的環(huán)境。
  • 增強的容錯能力:服務發(fā)現(xiàn)機制通常包括運行狀況檢查,使系統(tǒng)能夠自動將流量從失敗的服務實例中重新路由出去。
  • 簡化管理:擁有中央服務注冊表可以更輕松地監(jiān)視、管理和排除整個系統(tǒng)的故障。

五、常用服務發(fā)現(xiàn)工具

下面列舉了幾個分布式環(huán)境下常用的服務發(fā)現(xiàn)工具。

1.Eureka

Eureka Server采用的是Peer to Peer對等通信,它是一種去中心化的架構(gòu),每一個 Peer都是對等的。節(jié)點之間通過彼此互相注冊來提高可用性,每個節(jié)點需要添加一個或多個有效的 serviceUrl指向其他節(jié)點。每個節(jié)點都可被視為其他節(jié)點的副本。,其原理圖如下:

Eureka采用的是 ACP理論中的 AP原則,因此,只要 Eureka集群中有一臺 Eureka還在,就能保證注冊服務可用。

2.Consul

Consul 是一個分布式、高度可用的服務發(fā)現(xiàn)和配置系統(tǒng),它提供服務發(fā)現(xiàn)、運行狀況檢查、鍵值存儲和多數(shù)據(jù)中心支持,其原理圖如下:

Consul采用的是 ACP理論中的 CP模型,使用 Raft算法來保證強一致性,支持多數(shù)據(jù)中心,可以避免單數(shù)據(jù)中心的單點故障,而其部署則需要考慮網(wǎng)絡延遲, 分片等情況等。

3.etcd + kubernetes

etcd 是一個分布式鍵值存儲,可用于服務發(fā)現(xiàn)和配置管理,其原理圖如下:

etcd 是一種高度一致的分布式鍵值存儲,它提供了一種可靠的方法來存儲分布式系統(tǒng)或機器集群需要訪問的數(shù)據(jù)。它可以在網(wǎng)絡分區(qū)期間優(yōu)雅地處理領導者選舉,并且可以容忍機器故障,即使在領導者節(jié)點中也是如此。

Kubernetes 是一個容器編排平臺,具有內(nèi)置的服務發(fā)現(xiàn)機制。它使用標簽和注釋來管理服務實例,并通過 DNS提供服務發(fā)現(xiàn)。

4.Nacos

Nacos是阿里開源的,支持基于 DNS和基于 RPC的服務發(fā)現(xiàn),它即支持 CP模式也支持 AP模式,可以通過命令的方式切換,其原理圖如下:

五、總結(jié)

本文,我們分析了什么是服務發(fā)現(xiàn)以及它在分布式系統(tǒng)中是如何工作的?對于服務發(fā)現(xiàn)我們需要掌握其核心模型:

  • 服務提供者(Service Provider):服務提供者在進入系統(tǒng)時向服務注冊中心注冊,并在離開系統(tǒng)時取消注冊。
  • 服務使用者(Service Consumer):服務使用者從服務注冊表中獲取提供者的信息,然后連接到服務提供者。
  • 服務注冊表(Service Registry):服務注冊表是保存服務提供者的相關信息,當服務提供者有變更時,注冊表也能感知,以便客戶端可以通過從服務注冊表獲取最新數(shù)據(jù)。

最后,我們通過分析幾個常見的服務發(fā)現(xiàn)工具,盡管它們的實現(xiàn)細節(jié)略有差異,但是它們的核心模型是一樣的,只要能抓住核心模型,即便出現(xiàn)新的框架或者工具,我們也可以快速上手。

責任編輯:趙寧寧 來源: 猿java
相關推薦

2017-12-20 16:15:30

分布式系統(tǒng)架構(gòu)

2023-02-10 00:04:53

2018-01-23 15:55:23

分布式系統(tǒng)架構(gòu)

2023-05-29 14:07:00

Zuul網(wǎng)關系統(tǒng)

2022-09-07 08:18:26

分布式灰度方案分支號

2018-04-03 09:27:42

分布式架構(gòu)系統(tǒng)

2021-02-01 09:35:53

關系型數(shù)據(jù)庫模型

2023-11-29 10:26:52

分布式數(shù)據(jù)

2022-04-08 08:27:08

分布式鎖系統(tǒng)

2025-03-06 11:30:15

2022-06-13 10:01:36

Apollo攜程框架

2018-06-11 11:12:09

秒殺限流分布式

2023-05-12 08:23:03

分布式系統(tǒng)網(wǎng)絡

2018-06-19 09:35:51

分布式系統(tǒng)限流

2023-11-03 14:42:36

異步執(zhí)行開發(fā)架構(gòu)

2024-10-18 08:00:00

分布式系統(tǒng)背壓數(shù)據(jù)庫

2022-06-28 08:16:35

MySQL數(shù)據(jù)容災

2023-07-19 08:22:01

分布式系統(tǒng)數(shù)據(jù)

2023-02-11 00:04:17

分布式系統(tǒng)安全

2018-12-14 10:06:22

緩存分布式系統(tǒng)
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 在线视频亚洲 | 精品国产区 | 国产一区二区三区精品久久久 | 成人在线一区二区三区 | 国产98色在线 | 日韩 | 美女逼网站 | 亚洲精品久久久蜜桃网站 | 中文字幕第49页 | 亚洲精品电影 | 亚洲精品一区在线 | 国产精品日韩在线 | heyzo在线 | 欧美日韩在线一区二区三区 | 久久精品国产亚洲一区二区三区 | 免费美女网站 | 啪啪网页 | 精品一区电影 | 激情的网站 | 日韩二区 | 欧美日韩黄色一级片 | 欧美三级网站 | 福利视频二区 | 国产不卡在线播放 | 久久一区二区av | 欧美日韩国产在线观看 | 在线视频 亚洲 | 国产一区二区自拍 | 亚洲自拍偷拍视频 | 日日干日日色 | 91麻豆产精品久久久久久夏晴子 | se婷婷| 天天夜碰日日摸日日澡 | 久在线观看 | 夜夜摸夜夜操 | 亚洲91精品| 欧美日韩国产三级 | 国产精品久久久久久中文字 | 国产成人99久久亚洲综合精品 | 欧美日韩一区在线 | 农村真人裸体丰满少妇毛片 | 成人在线视频网 |