日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

MSE Sync遷移方案

MSE Sync是一款基于開源Nacos Sync項(xiàng)目深度定制和優(yōu)化的數(shù)據(jù)同步工具,不僅具備雙向數(shù)據(jù)同步能力,還集成了自動(dòng)服務(wù)發(fā)現(xiàn)與一鍵全量同步服務(wù)等高效功能。通過采用多實(shí)例部署架構(gòu),實(shí)現(xiàn)了高級別的容災(zāi)備份機(jī)制,適用于在Nacos、Zookeeper以及Eureka等配置管理平臺之間進(jìn)行平滑遷移的需求場景。

image

MSE Sync遷移介紹

MSE Sync遷移優(yōu)勢

  • 可平滑遷移

    在遷移過程中,MSE Sync能使源集群的服務(wù)信息和MSE云上產(chǎn)品的服務(wù)信息保持同步,從而實(shí)現(xiàn)自建配置注冊中心和MSE產(chǎn)品之間的平滑遷移。

    圖片中的pub指服務(wù)發(fā)布者,sub指服務(wù)訂閱者。平滑遷移

  • 可多實(shí)例部署

    在服務(wù)同步的模式下支持多實(shí)例部署。多實(shí)例部署

    同步工具通過定時(shí)任務(wù)補(bǔ)償宕機(jī)節(jié)點(diǎn)同步的數(shù)據(jù)。在節(jié)點(diǎn)宕機(jī)之后,正常節(jié)點(diǎn)會(huì)通過定時(shí)任務(wù)補(bǔ)償因節(jié)點(diǎn)宕機(jī)丟失的數(shù)據(jù)。在節(jié)點(diǎn)宕機(jī)到定時(shí)任務(wù)執(zhí)行之間的時(shí)間,客戶端會(huì)有短時(shí)的實(shí)例列表為空的情況,定時(shí)任務(wù)的時(shí)間間隔可以通過以下參數(shù)進(jìn)行配置。此參數(shù)為JVM參數(shù),可以通過JAVA_OPT環(huán)境變量進(jìn)行指定。

    -Dmsesync.daemon.refresh.interval=60 // 單位為秒

    示例如下。

    JAVA_OPT="$JAVA_OPT -Dmsesync.deamon.refresh.interval=10"
    重要
    • 定時(shí)任務(wù)時(shí)間間隔默認(rèn)為60秒,掃描間隔不宜設(shè)置過短,否則會(huì)造成服務(wù)端和同步節(jié)點(diǎn)壓力過大。具體時(shí)間設(shè)置需要根據(jù)集群負(fù)載和同步工具負(fù)載確定,建議值不要小于10秒。

    • 請勿在同步配置時(shí)進(jìn)行多實(shí)例部署。

  • 操作簡易

    MSE Sync適配Zookeeper、Nacos和Eureka的服務(wù)注冊邏輯,能夠?qū)崿F(xiàn)Zookeeper到Zookeeper、Zookeeper到Nacos、Nacos到Nacos和Eureka到Nacos的服務(wù)信息同步,并且支持從Zookeeper、Nacos和Eureka中自動(dòng)獲取服務(wù)信息,一鍵全選避免繁瑣操作。適配注冊邏輯

支持的注冊中心類型

MSE Sync支持的同步實(shí)例類型如下。

原注冊中心類型

目標(biāo)注冊中心類型

同步支持說明

Nacos

Nacos

Nacos原生服務(wù)類型。

ZooKeeper

Nacos

基于Curator實(shí)現(xiàn)的服務(wù)發(fā)現(xiàn)功能和Dubbo服務(wù)。

ZooKeeper

ZooKeeper

服務(wù)和持久化配置。

重要

使用MSE Sync遷移工具對ZooKeeper的數(shù)據(jù)節(jié)點(diǎn)進(jìn)行同步時(shí),源集群和目標(biāo)集群不支持同時(shí)變更同一個(gè)Znode,否則寫入的數(shù)據(jù)在遷移過程中可能會(huì)丟失。請勿使用配置同步方式進(jìn)行服務(wù)及臨時(shí)節(jié)點(diǎn)(ephemeral節(jié)點(diǎn))同步。

Eureka

Nacos

Eureka原生服務(wù)類型。

此同步實(shí)例類型需要將Nacos注冊的服務(wù)名小寫。因?yàn)镋ureka默認(rèn)注冊的服務(wù)名為大寫,但通過同步工具M(jìn)SE Sync將服務(wù)同步到Nacos時(shí),默認(rèn)會(huì)將服務(wù)名轉(zhuǎn)換成小寫。如果原服務(wù)名中有大寫字母,同步到Nacos的服務(wù)可能不互通。

例如,服務(wù)Service-1注冊到Eureka的服務(wù)名是SERVICE-1,通過MSE Sync同步到Nacos的服務(wù)名是service-1,如果客戶端使用nacosSDK之后注冊到Nacos的服務(wù)名是Service-1,那么service-1和Service-1在Nacos中其實(shí)是兩個(gè)服務(wù),即服務(wù)中的實(shí)例信息不互通,Nacos注冊的實(shí)例無法發(fā)現(xiàn)注冊到MSE Sync同步到Nacos上的實(shí)例。若將所有的服務(wù)名改成小寫,MSE Sync會(huì)將從Eureka同步的服務(wù)名轉(zhuǎn)化成小寫,這樣兩側(cè)服務(wù)就能夠互通了。

Consul

Nacos

Consul原生服務(wù)類型。

工具只同步健康的實(shí)例信息,元信息的變化同步工具目前不感知,因此元信息的變化不會(huì)被自動(dòng)同步,并且目前同步工具不支持Consul配置信息的同步。

步驟一:部署MSE Sync遷移工具

重要

遷移工具需要連接到自建集群和MSE集群。請務(wù)必確保遷移工具部署在能夠訪問自建集群以及MSE集群的網(wǎng)絡(luò)環(huán)境中(同一VPC內(nèi)或者能夠通過公網(wǎng)訪問自建集群和MSE集群),否則會(huì)導(dǎo)致遷移失敗。

部署模式

  • 依賴MySQL部署

    需要自行構(gòu)建MySQL服務(wù), 并創(chuàng)建具有讀寫權(quán)限的MSE Sync賬號和數(shù)據(jù)庫,通過環(huán)境變量傳入MySQL的URL、用戶名和密碼。多個(gè)MSE Sync可共享一個(gè)MySQL服務(wù)。

  • 依賴Derby部署

    MSE Sync支持內(nèi)嵌Derby數(shù)據(jù)庫,可單機(jī)啟動(dòng)。

環(huán)境變量

  • 數(shù)據(jù)庫相關(guān)環(huán)境變量

    MSE Sync通過環(huán)境變量自動(dòng)判斷使用MySQL還是Derby依賴啟動(dòng),當(dāng)MYSQL_URLMYSQL_USER_NAMEMYSQL_PASSWORD這幾個(gè)環(huán)境變量的取值都不為空時(shí),MSE Sync才會(huì)通過給定環(huán)境連接MySQL服務(wù)啟動(dòng),其他情況下都通過依賴內(nèi)嵌Derby數(shù)據(jù)庫進(jìn)行啟動(dòng)。

    環(huán)境變量名

    描述

    舉例

    MYSQL_URL

    MySQL的連接串。

    jdbc:mysql://localhost:3306/sync

    MYSQL_USER_NAME

    MSE Sync具有讀寫權(quán)限的賬戶用戶名。

    MYSQL_PASSWORD

    MYSQL_USER_NAME對應(yīng)的密碼。

  • JVM相關(guān)環(huán)境變量

    在conf文件夾下的java.env文件中,通過JAVA_OPT變量添加JVM 參數(shù)。

    例如,通過代碼設(shè)置JVM堆內(nèi)存大小,JAVA_OPT="$JAVA_OPT -Xms2048m -Xmx2048m"

部署方式

  • K8s部署

    1. 修改以下配置的MySQL用戶名、密碼和replicas等參數(shù),保存配置文件為mse-sync-deployment.yaml

      apiVersion: apps/v1
      kind: Deployment
      metadata:
        labels:
          app.kubernetes.io/name: mse-sync
        name: mse-sync-svc
      spec:
        replicas: 3
        selector:
          matchLabels:
            app.kubernetes.io/name: mse-sync
        template:
          metadata:
            labels:
              app.kubernetes.io/name: mse-sync
          spec:
            containers:
            - name: mse-sync
              image: msecrinstance-registry.cn-hangzhou.cr.aliyuncs.com/mse-demo/mse-sync:latest
              ports:
              - containerPort: 8000
              env:
              - name: MYSQL_URL
                value: "jdbc:mysql://192.xx.xx.xx:3306/sync"
              - name: MYSQL_USER_NAME
                value: "mse-sync"
              - name: MYSQL_PASSWORD
                value: password
      說明

      如果需要訪問MSE Sync UI,需要添加一個(gè)Service指向MSE Sync的8000端口。

    2. 執(zhí)行以下命令,部署MSE Sync。

      kubectl apply -f mse-sync-deployment.yaml
  • ECS部署

    1. 下載MSE Sync的二進(jìn)制包。

      curl https://msesync.oss-cn-hangzhou.aliyuncs.com/MseSync.zip --output msesync.zip
    2. 解壓二進(jìn)制包,并進(jìn)入MSE Sync的根目錄。

      unzip ./msesync.zip
    3. 可選:如需依賴MySQL,需要配置如下環(huán)境變量。

      export MYSQL_URL=""
      export MYSQL_USER_NAME=""
      export MYSQL_PASSWORD=""
    4. 啟動(dòng)應(yīng)用。

      ./MseSync/bin/startup.sh start

步驟二:配置集群信息和遷移任務(wù)

MSE Sync可以通過UI配置遷移任務(wù),也可以通過配置文件的形式構(gòu)建遷移任務(wù)。

  • 通過UI遷移任務(wù)

    打開MSE Sync工具,在左側(cè)導(dǎo)航欄,單擊服務(wù)同步,然后單擊導(dǎo)入配置,在導(dǎo)入配置對話框,輸入配置內(nèi)容,單擊確定,完成配置導(dǎo)入。

  • 通過配置文件遷移任務(wù)

    1. 創(chuàng)建配置文件。本文提供如下YAML示例,自動(dòng)同步src集群public、test兩個(gè)命名空間的所有服務(wù)到dst集群中,同步類型為服務(wù)信息同步,同步模式為雙向同步。

      配置項(xiàng)主要包含兩個(gè)字段,即clusterstasks,分別描述集群和同步任務(wù)信息。clusterstasks字段說明,請參見配置字段

      clusters:
        - clusterName: src
          connectKeyList:
            - mse-xxxxx-nacos-ans.mse.aliyuncs.com:8848
          clusterType: NACOS
          namespace: public,test
        - clusterName: dst
          connectKeyList:
            - mse-xxxxxx-nacos-ans.mse.aliyuncs.com:8848
          clusterType: NACOS
      
      tasks:
        - source: src
          destination: dst
          type: Service
          mode: Bidirectional
          serviceMatchPattern: ".*"
          autoScanAndAddService: true
    2. 執(zhí)行以下命令導(dǎo)入配置。

      ./bin/msesyncCMD.sh apply -f {配置文件的路徑}
    3. 將配置文件掛載或者放置在MseSync/conf/config.yaml,并啟動(dòng)MSE Sync。MSE Sync啟動(dòng)會(huì)自動(dòng)初始化配置文件,進(jìn)行數(shù)據(jù)遷移。

    說明
    • 配置文件可通過在MSE控制臺的遷移上云頁面配置遷移任務(wù)而自動(dòng)生成。

    • 通過配置導(dǎo)入的方式進(jìn)行的同步功能,將實(shí)現(xiàn)對新增服務(wù)的自動(dòng)同步。

配置字段

以下內(nèi)容為List類型的clusterstasks字段說明。

Clusters字段說明

字段

說明

取值舉例

clusterName

集群名稱。

說明

配置中的集群名不可重復(fù)。

sourceCluster

clusterType

集群類型。

  • NACOS

  • ZOOKEEPER

  • EUREKA

  • CONSUL

namespace

Nacos namespace名稱。

說明

可以輸入多個(gè),使用英文逗號分隔。

  • public

  • test

  • test1

connectKeyList

集群的接入Endpoint,類型為List。

connectKeyList:
- localhost:8848
- localhost1:8848

userName

Nacos用戶名。

password

Nacos密碼。

ak

MSE Nacos RAM鑒權(quán)具有讀寫權(quán)限子賬號的AccessKey。

sk

AccessKey對應(yīng)的SecretKey。

Tasks字段說明

字段

說明

取值舉例

source

源集群名。

無。

destination

目標(biāo)集群名。

目標(biāo)集群的命名空間自動(dòng)和源集群保持一致,如果目標(biāo)集群中不存在對應(yīng)的命名空間,MSE Sync會(huì)自動(dòng)創(chuàng)建。

type

同步類型。

  • Service(服務(wù)同步)。

  • Config(配置同步,支持Nacos和ZooKeeper進(jìn)行配置同步)。

  • All(根據(jù)原集群類型自動(dòng)創(chuàng)建服務(wù)和配置同步任務(wù))。

mode

同步模式。

  • Unidirectional (單向同步):只會(huì)將原生注冊的服務(wù)信息從源集群同步到目標(biāo)集群。

  • Bidirectional(雙向同步):能夠?qū)崿F(xiàn)源集群和目標(biāo)集群之間原生注冊的服務(wù)信息的雙向同步。

serviceMatchPattern

需要同步的服務(wù)的正則匹配表達(dá)式。

默認(rèn)同步所有服務(wù)。

autoScanAndAddService

是否自動(dòng)掃描并同步源集群中新增加的服務(wù)。

默認(rèn)為True。