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

Golang 語言微服務的服務注冊與發現組件 Consul

開發 后端
在 2016 年底,我開始接觸 Golang 語言和微服務,在過去的 5 年中,微服務架構變得越來越流行,目前中型及以上規模的公司幾乎已經全部拋棄單體架構。

01介紹

在 2016 年底,我開始接觸 Golang 語言和微服務,在過去的 5 年中,微服務架構變得越來越流行,目前中型及以上規模的公司幾乎已經全部拋棄單體架構。

本文我們主要介紹 Golang 語言微服務的服務注冊與發現組件 consul。在介紹 Consul 之前,我們先簡單了解一下服務注冊與發現和 CAP 定理。

02服務注冊與發現

微服務架構與單體架構不同,微服務架構按照業務需求拆分為多個微服務,每個微服務都可以動態部署。

服務注冊與發現組件負責管理拆分的各個微服務,其中服務注冊是指微服務實例啟動時,將其信息注冊到服務注冊與發現組件;服務發現是指微服務實例通過請求服務注冊與發現組件,獲取其需要遠程調用的其他微服務實例的信息。

服務注冊與發現組件的功能包括管理當前注冊到服務注冊與發現組件的微服務實例;心跳檢測注冊到服務注冊與發現組件的微服務實例;為調用方的微服務實例提供被調用的微服務實例的信息。

03CAP 定理

CAP 定理由加州大學柏克萊分校的 Eric Brewer 教授提出,它是描述分布式系統下節點數據同步的基本定理。

其核心是告訴我們,在分布式系統中有三方面需要彼此權衡,分別是一致性(consistency)、可用性(availability)和分區容忍性(partition tolerance),CAP 定理告訴我們,以上三個指標最多只能滿足其中兩個指標。

其中,一致性是當訪問多個節點時能得到同樣的值;可用性意味著每個請求都能獲得響應;分區容忍性是指集群中的某些節點在無法通信后,集群整體還能繼續提供服務。

微服務架構實際上就是分布式系統的一種落地實踐。

04Consul

目前業界已經開源出很多服務注冊與發現組件,例如 Java 語言開發的致力于為分布式系統提供一致性服務的 zookeeper,使用 Golang 語言開發的主要用于服務發現與配置共享的 etcd 和 consul。

其中,Consul 是以服務發現與配置作為主要功能目標,附帶提供了 Key/Value 存儲,僅從服務注冊與發現組件的需求考慮,Consul 更適合。

Consul 是一個服務網格解決方案,滿足 CAP 定理中的 CP,提供服務發現和配置共享的功能。這些功能中的每一個都可以根據需要單獨使用,也可以一起使用以構建完整的服務網格。

Consul 附帶了一個簡單的內置代理,因此一切都開箱即用,但也支持第三方代理集成,如 Envoy。

Consul 主要特性:

  • 服務發現
  • 健康檢查
  • KV 存儲
  • 安全服務通信
  • 多數據中心

Consul 是一個高可用的分布式系統,支持多數據中心部署,每個數據中心都運行一個 Consul 集群。一個 Consul 集群由部署和運行 Consul Agent 的節點組成。

Consul Agent 負責服務注冊、運行檢查和響應查詢(將查詢請求轉發到 Consul server 中進行處理),服務發現或讀寫 Key/Value 數據不需要運行 Consul Agent。

Consul 集群包含 Consul server 和 Consul client,Consul server 負責存儲和復制數據。多個 Consul server 之間基于 Raft 協議選舉一個 leader。雖然 Consul 可以只使用一個 Consul server,但官方建議使用 3 到 5 個 Consul server,以避免數據丟失。

Consul client 負責將請求轉發給同一數據中心的 Consul server 處理。當發出跨數據中心服務發現或配置請求時,本地 Consul server 會將請求轉發到遠程數據中心并返回結果。

05總結

本文我們先簡單認識一下 Consul,同時介紹了服務注冊與發現是什么,微服務作為分布式系統的一種落地實踐,也需要遵循 CAP 定理,并列舉了業界目前開源的滿足 CP 的服務注冊與發現組件有哪些。

本文轉載自微信公眾號「 Golang語言開發棧」,可以通過以下二維碼關注。轉載本文請聯系 Golang語言開發棧公眾號。

 

責任編輯:武曉燕 來源: Golang語言開發棧
相關推薦

2022-01-26 09:36:53

Consul語言微服務

2023-06-02 08:33:43

微服務架構服務注冊

2017-06-25 13:33:25

Spring Clou微服務架構

2025-01-20 00:10:00

Go語言Kratos

2022-06-17 12:05:25

微服務注冊

2020-06-29 07:58:18

ZooKeeperConsul 注冊中心

2022-04-26 05:36:42

服務治理模式

2021-04-20 17:20:59

SpringColud EurekaNetflix開發

2015-12-25 11:00:52

Zookeeper的Python

2020-10-14 15:37:04

Goconsul接口

2025-01-09 08:32:50

2023-09-07 23:25:34

微服務服務發現

2022-08-14 07:04:44

微服務架構設計模式

2023-11-29 16:21:30

Kubernetes服務注冊

2018-09-14 09:23:03

微服務服務集成

2022-02-09 07:03:01

SpringNacos服務注冊

2022-02-07 07:10:32

服務注冊功能

2025-03-31 08:35:00

Eureka微服務架構

2024-07-02 10:58:53

2018-12-17 16:44:49

Golang微服務
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品一区二区不卡 | 成人日韩 | 亚洲www| 欧美国产精品 | 中文字幕1区 | 91天堂 | 亚洲精品乱码久久久久久黑人 | 成人av免费| 亚洲第一天堂 | www.4hu影院 | 在线观看视频91 | 一区二区三区不卡视频 | 欧美激情一区 | www.黄色在线观看 | 91在线视频网址 | 国产精品99久久久久久宅男 | 国产日韩在线观看一区 | 欧美一区二区三区精品免费 | 99精品视频免费观看 | 亚洲在线观看视频 | 成人免费视频观看 | 伊人超碰 | 成人精品国产一区二区4080 | 国产精品国产三级国产aⅴ中文 | 午夜看电影在线观看 | 一级特黄a大片 | 最近中文字幕免费 | h在线免费观看 | 亚洲手机视频在线 | 国产成人精品一区二区三区在线观看 | 国产一级成人 | 国产精品亚洲综合 | 国产精品久久久久久久午夜片 | 国产激情91久久精品导航 | 色视频网站免费 | 欧美亚洲综合久久 | 国产目拍亚洲精品99久久精品 | 理伦毛片 | 欧美成人精品一区二区三区 | 亚洲精精品 | 亚洲欧美国产精品久久 |