日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
聊一聊我在組內(nèi)的Nacos

Nacos簡介

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

成都創(chuàng)新互聯(lián)長期為上千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為梓潼企業(yè)提供專業(yè)的網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計,梓潼網(wǎng)站改版等技術(shù)服務(wù)。擁有10多年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

本文只講解服務(wù)發(fā)現(xiàn)部分。

服務(wù)注冊發(fā)現(xiàn)模型

namespace:環(huán)境隔離、租戶隔離;不同namespace服務(wù)無法相互發(fā)現(xiàn)

group:業(yè)務(wù)隔離;解決不同業(yè)務(wù)下serviceName相同的問題;可獲取默認(rèn)或指定group實例

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

臨時實例

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

在Nacos中他們的主要區(qū)別如下:

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

Dubbo適配

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

路由模式

客戶端路由模式

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

服務(wù)端路由模式

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

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

自定義實現(xiàn)選擇器selector,根據(jù)手動配置規(guī)則表達(dá)式選取相應(yīng)實例

架構(gòu)設(shè)計

存儲模型

全量數(shù)據(jù)位于內(nèi)存中,每個節(jié)點數(shù)據(jù)保持一致,節(jié)點間采取同步協(xié)議進(jìn)行復(fù)制

數(shù)據(jù)結(jié)構(gòu)

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

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

publisherIndexes => 哪些客戶端注冊了哪些服務(wù)

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

同步協(xié)議

distro

  • 客戶端心跳/連接?;?,重連時有恢復(fù)(注冊、訂閱)機制
  • 數(shù)據(jù)同步為異步

raft

  • 半數(shù)以上節(jié)點同步成功才返回給客戶端

通信協(xié)議

功能/版本 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
集群間數(shù)據(jù)同步 http/distro http/自研raft grpc/distro jraft

生態(tài)建設(shè)

  • 客戶端
    • 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

主要用于注冊中心遷移以及多數(shù)據(jù)中心數(shù)據(jù)同步

Nacos-coredns-plugin

consumer側(cè)可使用域名方式發(fā)現(xiàn)服務(wù),無需使用Nacos客戶端

Nacos-istio

支持Nacos數(shù)據(jù)同步至MCP Server

優(yōu)缺點分析

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

本文名稱:聊一聊我在組內(nèi)的Nacos
網(wǎng)站路徑:http://www.5511xx.com/article/dphecho.html