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

聊一聊我在組內的Nacos

開發 前端
Nacos : Naming and Configuration Service,可打包部署配置中心和注冊中心,也可獨立部署其中之一,配置中心、控制臺依賴mysql,由阿里巴巴2018年8月開源,github 19.1k star(截止2021.08.24)

[[419572]]

Nacos簡介

Nacos : Naming and Configuration Service,可打包部署配置中心和注冊中心,也可獨立部署其中之一,配置中心、控制臺依賴mysql,由阿里巴巴2018年8月開源,github 19.1k star(截止2021.08.24)

本文只講解服務發現部分。

服務注冊發現模型

namespace:環境隔離、租戶隔離;不同namespace服務無法相互發現

group:業務隔離;解決不同業務下serviceName相同的問題;可獲取默認或指定group實例

cluster:集群隔離;可定制化路由偏好;可獲取全部或指定集群實例

臨時實例

  • 臨時實例:靠client的心跳或連接保活,當不存活時,直接下線實例;適用于主動注冊的服務,特別適合K8S下ip漂移的場景
  • 永久實例:注冊后不用保活,靠服務端健康檢查來判斷實例是否健康,不健康實例也不用下線;適用于ip不常變化的場景

在Nacos中他們的主要區別如下:

emphemral true false
名稱 臨時實例 永久實例
CAP AP CP
一致性協議 distro raft
是否持久化
健康檢查方式 心跳/連接 服務端檢查(TCP、HTTP、MYSQL)

Dubbo適配

  • 使用臨時實例
  • 應用級:serviceName為應用名即可
  • 服務級(Dubbo):以provider/consumer:$[service_name]:${version}:${group}為服務名

路由模式

客戶端路由模式

客戶端(SDK)根據service,指定部分或全部group、cluster獲取相應的實例,客戶端根據權重或其他策略進行路由

服務端路由模式

插件式selector實現自定義路由模式,可對接第三方CMDB

與CMDB對接,根據service、ip等信息獲取元數據(如機房位置)

自定義實現選擇器selector,根據手動配置規則表達式選取相應實例

架構設計

存儲模型

全量數據位于內存中,每個節點數據保持一致,節點間采取同步協議進行復制

數據結構

一個客戶端連接為一個client,打包客戶端的信息與注冊、訂閱數據

  • 注冊
    • serviceName
    • serviceName
    • clientid
    • clientid
    • ...

publisherIndexes => 哪些客戶端注冊了哪些服務

  • 訂閱
    • serviceName
    • serviceName
    • clientid
    • clientid
    • ...
    • subscriberIndexes => 哪些客戶端訂閱了哪些服務

同步協議

distro

  • 客戶端心跳/連接保活,重連時有恢復(注冊、訂閱)機制
  • 數據同步為異步

raft

  • 半數以上節點同步成功才返回給客戶端

通信協議

功能/版本 1.x distro 1.x raft 2.x distro 2.x raft
注冊/注銷 http http grpc http
訂閱 http http grpc grpc
心跳/健康檢查 http TCP/http/mysql TCP TCP/http/mysql
推送 udp udp grpc grpc
集群間數據同步 http/distro http/自研raft grpc/distro jraft

生態建設

  • 客戶端
    • Java
    • golang
    • Python
    • C#
    • Nodejs
    • C++
  • 插件
    • Dubbo-registry-nacos
    • Rpc-java-registry-nacos
    • Nacos-spring-starter
    • Nacos-sync
    • Nacos-k8s-sync
    • Nacos-client-mse-extension
    • Nacos-coredns-plugin
    • Nacos-istio

Nacos-sync

主要用于注冊中心遷移以及多數據中心數據同步

Nacos-coredns-plugin

consumer側可使用域名方式發現服務,無需使用Nacos客戶端

Nacos-istio

支持Nacos數據同步至MCP Server

優缺點分析

  • 優點:
    • AP模式,擴展性、多數據中心支持友好
    • 服務發現模型設計支持邏輯上namespace、group、cluster等的隔離
    • 健康檢查模式支持較多
    • 支持臨時實例與持久化實例,滿足不同場景
    • 功能多,生態豐富,支持多語言SDK
    • 2.x版本grpc長連接性能強
    • 單一進程,部署簡單,且附帶開箱即用的控制臺
    • 基本無依賴(除控制臺依賴mysql,注冊中心部分實際不依賴任何第三方組件)
  • 缺點:
    • 1.x http心跳消耗大,2.x剛發布不久,可能存在一些bug
    • 沒有分層設計,沒辦法針對性擴容,如連接數太多時,擴容能解決,但也會增加數據同步壓力

 

責任編輯:武曉燕 來源: 捉蟲大師
相關推薦

2012-08-22 13:57:24

HybridHybrid開發

2020-09-08 06:54:29

Java Gradle語言

2023-07-06 13:56:14

微軟Skype

2018-06-07 13:17:12

契約測試單元測試API測試

2021-05-25 05:28:05

uniCloud前端項目

2023-09-22 17:36:37

2021-01-28 22:31:33

分組密碼算法

2020-05-22 08:16:07

PONGPONXG-PON

2016-01-15 09:51:27

AngularJS實際應用

2021-12-06 09:43:01

鏈表節點函數

2021-07-16 11:48:26

模型 .NET微軟

2023-09-20 23:01:03

Twitter算法

2021-03-01 18:37:15

MySQL存儲數據

2021-08-01 09:55:57

Netty時間輪中間件

2023-09-27 16:39:38

2024-10-28 21:02:36

消息框應用程序

2022-03-08 16:10:38

Redis事務機制

2020-08-12 08:34:16

開發安全We

2021-01-01 09:01:05

前端組件化設計

2022-11-26 00:00:06

裝飾者模式Component
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久亚洲国产精品日日av夜夜 | 日韩二区| 一级二级三级黄色 | 伊人亚洲 | 欧美日韩国产高清 | 91av视频在线观看 | 欧美xxxx黑人又粗又长 | 九九一级片 | 亚洲精品视频免费观看 | 欧美黄色网 | 国产激情一区二区三区 | 成人影院在线视频 | 久草在线 | 91精品国产乱码久久久久久久 | 久久综合伊人 | 成人免费视频网站在线观看 | 免费日韩网站 | 亚洲日韩中文字幕 | 国产精品呻吟久久av凹凸 | 国产精品国产a | 国产精品观看 | 日日干夜夜操 | 亚洲欧美一区二区三区国产精品 | 九九免费| 免费黄色在线观看 | 精品欧美一区二区精品久久久 | 亚洲人在线观看视频 | www.久久精品视频 | 麻豆av在线| 欧美日韩亚洲在线 | 亚洲小视频在线观看 | 亚洲欧美激情国产综合久久久 | 香蕉视频黄色 | 国产在线一级片 | 国产传媒在线观看 | 成人免费在线视频 | www.久久久久久久久 | 成人影院免费视频 | 久久国产精品无码网站 | 国产精品亚洲一区二区三区在线观看 | 女人毛片a毛片久久人人 |