91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Nacos Committer 張龍:Nacos Sync 的設計原理和規劃

發布時間:2020-08-14 09:22:46 來源:ITPUB博客 閱讀:190 作者:火鍋小仙女 欄目:大數據

Nacos Committer 張龍:Nacos Sync 的設計原理和規劃

與你同行,抬頭便是星空。

本文整理自Nacos Committer 張龍的現場分享,阿里巴巴中間件受權發布。

隨著 Nacos 1.0.0 穩定版的發布,越來越多的企業開始在測試/預演/生產環境中逐步部署 Nacos。目前,除了部分企業已處于轉型分布式架構的過程中,會考慮直接使用 Nacos 上生產,但仍有不少企業會考慮一些比較現實的問題:

  • 存量用戶如何遷移注冊中心到 Nacos?
  • 多區域注冊中心之間如何同步?
  • 已有注冊中心與 Nacos 如何并存使用?

這里,我將通過對 Nacos Sync 的介紹,來回答這三個問題。

Nacos Sync 是什么?

Nacos Sync 是一個支持多種注冊中心的同步組件,基于 SpringBoot 開發框架,數據層采用 Spring Data JPA,遵循了標準的 JPA 訪問規范,支持多種數據源存儲,默認使用 Hibernate 實現,更加方便的支持表的自動創建更新。

下圖是 Nacos Sync 系統的概念圖,Nacos Sync 通過從各個注冊中心拉取注冊的服務實例數據同步到 Nacos,左右兩邊是不同的注冊中心,綠色代表目前是可以進行雙向同步的,藍色代表暫時只能進行單向同步。


Nacos Committer 張龍:Nacos Sync 的設計原理和規劃

組件特性

Nacos Sync 使用了高效的事件異步驅動模型,支持多種自定義事件,使得同步任務處理的延時控制在3s,8C16G的單機能夠支持6K的同步任務。

除了單機部署,Nacos Sync 也提供了高可用的集群部署模式,作為無狀態設計,支持將任務等狀態數據遷移到了數據庫,使得集群擴展非常方便。

系統模塊架構

下圖是 Nacos Sync 目前的系統架構圖,畫的比較簡單,只是把一些比較重要的模塊做了描述。


Nacos Committer 張龍:Nacos Sync 的設計原理和規劃

Web Console:  提供給用戶進行注冊中心和同步任務進行相關界面操作

Processor Frame:  注冊中心和任務的業務處理邏輯

Timer Manager:  定時輪詢數據庫獲取同步任務進行處理

Event Frame:  異步事件來進行同步任務的同步以及刪除

Extension:  對接各種注冊中心客戶端的擴展實現

整體調用流程

我們來看一下 Nacos Sync 一次完整的調用流程:


Nacos Committer 張龍:Nacos Sync 的設計原理和規劃

通過 Web 控制臺添加相關注冊中心,一般都必須配置兩個注冊中心,一個源注冊中心,另外一個是目標注冊中心,注冊中心相關數據會寫入到數據庫;

  1. 添加完注冊中心以后,增加一個同步任務,添加需要同步的服務(對于Dubbo來說就是RPC接口,對于Spring Cloud就是應用名);
  2. Nacos Sync 會每隔 3s 從數據庫撈取同步任務,并通過異步事件的方式進行發布;
  3. 同步服務管理監聽到定時任務發布的的事件,目前有同步/刪除這兩種事件;
  4. 同步服務管理根據不同的策略選擇相關的同步服務進行真正同步邏輯處理;

目前已經支持同步類型

下面的表格介紹了目前支持的幾種同步類型,并且說明了在 Dubbo 和 Spring Cloud 下是否支持同步,表格中列舉的幾種注冊中心,無論單向還是雙向同步都是在和 Nacos 進行交互。


Nacos Committer 張龍:Nacos Sync 的設計原理和規劃


使用場景和 Demo

  • 多個網絡互通的 Region 之間進行服務共享,打破 Region 之間的服務調用限制;


Nacos Committer 張龍:Nacos Sync 的設計原理和規劃


  • 雙向同步功能,支持 Dubbo+ZooKeeper 服務平滑遷移到 Dubbo+Nacos ;


Nacos Committer 張龍:Nacos Sync 的設計原理和規劃

這里提供兩個 Demo ,用來分別演示上面的兩個經典使用場景,詳細的操作步驟可以通過下方鏈接,進行訪問。

單向同步場景,在 Spring Cloud 生態中,Eureka 同步到 Nacos 示例  
https:// os-sync-example/tree/master/one-way-sync https:// os-sync-example/tree/master/two-way-sync

版本演進

Nacos Sync 目前已經發布3個小版本,通過下圖,我們可以看到每個版本已經做了的一些工作,以及下個版本即將做的一些事情。


Nacos Committer 張龍:Nacos Sync 的設計原理和規劃


0.4.0 規劃介紹

  • 功能健壯性

同步數據一致性校驗,0.4.0版本前,同步任務執行之后,雙端數據一致性未進行檢查的;
注冊中心健康檢查;

  • 用戶體驗

同步數據實時狀態透出 ,0.4.0版本前,控制臺的任務狀態是數據庫的任務執行狀態,用戶沒辦法知道當前的數據狀態;
任務批量刪除;
多維度增加任務同步,優化只支持服務粒度,用戶只能一個一個添加的用戶體驗;

  • 功能完善
    支持 Eureka/Consul 和 Nacos 的雙向同步;


原文鏈接

本文為云棲社區原創內容,未經允許不得轉載。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

惠水县| 宿州市| 肃南| 郑州市| 渝北区| 凤山市| 两当县| 隆安县| 安阳县| 水富县| 溧水县| 仁化县| 杂多县| 锡林浩特市| 屏边| 玉溪市| 乐安县| 封丘县| 黄梅县| 临湘市| 河曲县| 沂南县| 铁岭市| 黑水县| 伊通| 泊头市| 交口县| 西丰县| 那曲县| 德庆县| 肇源县| 酒泉市| 沙雅县| 泰州市| 鄂伦春自治旗| 平顺县| 浏阳市| 盐山县| 梨树县| 阳山县| 安宁市|