Zookeeper監控的原理
之前寫的負載均衡伺服器專案,只能在啟動時配置結點,執行狀態時節點當機倒是可以刪除它。但是不能實時得檢測節點資訊,尤其是如果新增節點還要伺服器重啟重新配置,本文的 Zookeeper 給了我一個思路。
當服務越來越多,規模越來越大時,對應的機器數量也越來越大,單靠人工來管理和維護服務及地址的配置地址資訊,已經很困難了,並且,依賴單一的硬體負載均衡裝置或者使用LVS.nginx等軟體方案進行路由和負載均衡排程,單點故障的問題也開始凸顯,一旦服務路由或者負載均衡伺服器當機,依賴他的所有服務均將失效。
此時,需要一個能夠動態註冊和獲取服務資訊的地方。來統一管理服務名稱和其對應的伺服器列表資訊,稱之為服務配置中心,服務提供者在啟動時,將其提供的服務名稱、伺服器地址註冊到服務配置宗新,服務消費者通過服務配置中心來獲得需要呼叫的服務的機器列表。通過相應的負載均衡演算法,選取其中一臺伺服器進行呼叫。當伺服器當機或者下線時,相應的機器需要能夠動態地從服務配置中心裡面溢位,並通知相應的服務消費者,否則服務消費者就有可能因為呼叫到已經失效服務而發生錯誤,在這個過程中,服務消費者只有在第一次呼叫服務時需要查詢服務配置中心,然後將查詢到的資訊快取到本地,後面的呼叫直接使用本地快取的服務地址列表資訊,而不需要重新發起請求道服務配置中心去獲取相應的服務地址列表,直到服務的地址列表有變更(機器上線或者下線)。這種無中心化的結構解決了之前負載均衡裝置所導致的單點故障問題,並且大大減輕了服務配置中心的壓力
基於Zookeeper的持久和非持久節點,我們能夠近乎實時地感知到後端伺服器的狀態(上線、下線、當機)通過叢集間的zab協議,使得服務配置資訊能夠保持一致。而zookeeper本身容錯特性和leader選舉機制,能保障我們方便進行擴容,通過zookeeper來實現服務動態註冊。機器上線和下線的動態感知,擴容方便,容錯性好,且無中心化結構能夠解決之前使用負載均衡裝置所帶來的單點故障問題,只有當配置資訊更新時才會去zookeeper上獲取最新的服務地址列表,其他時候使用本地快取即可。
一旦伺服器與zookeeper叢集斷開連線,節點也就不存在了,通過註冊相應的watcher,服務消費者能夠第一時間獲知服務提供者機器資訊的變更,利用其znode的特點和watcher機制,將其作為動態註冊和獲取服務資訊的配置中心,統一管理服務名稱和其對應的伺服器列表資訊,我們能夠近乎實時地感知到後端伺服器的狀態(上線、下線、當機).zookeeper叢集間通過zab協議,服務配置資訊能夠保持一致,而zookeeper本身容錯特性和leader選舉機制,能夠保障我們方便的擴容。
--from《大型分散式網站架構設計與實踐》
相關文章
- Java實現ZooKeeper的zNode監控Java
- 基於 ZooKeeper 實現爬蟲叢集的監控爬蟲
- 海康安防產品-[監控]影片監控原理介紹
- Java 中的監控與管理原理概述Java
- OpenTelemetry 實戰:gRPC 監控的實現原理RPC
- Zookeeper深入原理
- Android 效能監控系列一(原理篇)Android
- zookeeper的原理和使用(一)
- Docker 容器監控原理及 cAdvisor 的安裝與使用Docker
- Flutter異常監控 - 貳 | 框架Catcher原理分析Flutter框架
- zookeeper的基本原理(二)
- APM效能監控軟體的監控型別服務及監控流程型別
- 黑盒監控、日誌監控
- golang pprof 監控系列(4) —— goroutine thread 統計原理Golangthread
- ZooKeeper 工作、選舉 原理
- zookeeper使用和原理探究
- Zookeeper watch機制原理
- 前端監控 SDK 的一些技術要點原理分析前端
- 6.prometheus監控--監控dockerPrometheusDocker
- TiDB監控實現--存活監控TiDB
- ZooKeeper 監視點詳解
- 一種對雲主機進行效能監控的監控系統及其監控方法
- 監控
- golang pprof 監控系列(3) —— memory,block,mutex 統計原理GolangBloCMutex
- upptime:使用GitHub Actions監控你的網站健康監控Github網站
- 聊聊前端監控——錯誤監控篇前端
- 一文搞懂Zookeeper原理
- 深入瞭解Zookeeper核心原理
- zookeeper的原理和使用(二)-leader選舉
- zookeeper 分散式鎖的原理及實現分散式
- iOS開發 -卡死崩潰監控原理及最佳實踐iOS
- 11.prometheus監控之黑盒(blackbox)監控Prometheus
- 3-主機監控、應用監控
- Prometheus+Grafana實現服務效能監控:windows主機監控、Spring Boot監控、Spring Cloud Alibaba Seata監控PrometheusGrafanaWindowsSpring BootCloud
- centos 監控CentOS
- openGauss 監控
- Linux 監控Linux
- nginx監控Nginx
- zabbix監控