[NacosSync] レジストリ同期コンポーネントの使用チュートリアル ZooKeeper が Nacos に移行

導入

  • NacosSync は、複数のレジストリをサポートする同期コンポーネントです。Spring Boot 開発フレームワークに基づいています。データ層は Spring Data JPA を使用します。標準 JPA アクセス仕様に従い、複数のデータ ソース ストレージをサポートします。デフォルトで Hibernate によって実装され、テーブルをより便利にサポートします。
  • 効率的なイベント非同期ドライブ モデルを使用し、さまざまなカスタム イベントをサポートし、同期タスク処理の遅延制御を 3 秒以内に実現します。8C16G スタンドアロンは 6K 同期タスクをサポートできます。
  • NacosSync は、スタンドアロン展開に加えて、高可用性クラスター展開モードも提供します。NacosSync は、タスクなどの状態データをデータベースに移行するステートレス設計なので、クラスターの拡張が非常に便利です
  • Sync コンポーネントのコア インターフェイスは抽象化されており、同期タイプは注釈によって区別されるため、開発者は独自のニーズに応じてさまざまな登録センターを簡単に拡張できます。
    • Nacos データを Nacos に同期
    • Zookeeper データを Nacos に同期する
    • Nacos データの Zookeeper への同期
    • Eureka データを Nacos に同期する
    • Consul データを Nacos に同期する

システムモジュールのアーキテクチャ

ここに画像の説明を挿入

インストールパッケージを入手する

NacosSyncインストールパッケージを入手するには2つの方法があります

  • NacosSync次のバイナリ インストール パッケージを直接ダウンロードします。https://github.com/nacos-group/nacos-sync/releases
  • バージョン0.4.8のダウンロードページ:https://github.com/nacos-group/nacos-sync/releases/tag/0.4.8
  • からGitHubダウンロードしたNacosSyncソースコードからビルドする
    • git clone -b
    • cd nacosSync/
    • mvn clean package -U

    オブジェクト ファイルへのパス:nacos-sync/nacossync-distribution/target/nacosSync.${version}.zip

データベース構成

#spring.datasource.url=jdbc:mysql://127.0.0.1:3306/nacos_sync?characterEncoding=utf8
spring.datasource.url=jdbc:postgresql://localhost:5432/nacos_sync
spring.datasource.username=nacos_sync
spring.datasource.password=nacos_sync

サーバーを起動する

startup restart

コンソール

アクセスパス:http://127.0.0.1:8083/

レジストリクラスター情報の追加

  • 左側のナビゲーション バーの [クラスター構成] ボタンをクリックして新しいクラスターを追加し、まず Zookeeper クラスターを追加して、クラスター タイプとして ZK を選択します。

    注: クラスター名はカスタマイズできますが、一度確認すると変更することはできません。そうしないと、このクラスターに基づいて追加されたタスクが NacosSync の再起動後に正常に回復されません。

  • 同じ手順で、NacosSync クラスターを追加します。
  • 追加後、リストで見つけることができます
    ここに画像の説明を挿入

同期タスクを追加する

  • Zookeeper クラスタから Nacos クラスタに同期タスクを追加します。同期の粒度はサービスです。Zookeeper クラスタはソース クラスタと呼ばれ、Nacos クラスタはターゲット クラスタと呼ばれます。

  • 追加が完了すると、サービス同期リストで追加された同期タスクを表示できます。

  • 同期が完了したら、データが Nacos クラスターに正常に同期されているかどうかを確認します。Nacos コンソールを通じてクエリを実行できます。

  • 現時点では、データは Zookeeper クラスターから Nacos クラスターに正常に同期されており、デプロイメント構造は次のとおりです。
    ここに画像の説明を挿入

  • プロバイダーをアップグレードする前に、プロバイダーによってリリースされたサービスが NacosSync で構成されていることを確認する必要があります。プロバイダーがアップグレードされて Nacos に接続された後、古い Dubbo がコンシューマ クライアントは Zookeeper に存在できます。プロバイダのアドレスをサブスクライブします。ここで、同期タスクを追加します。

    注: Nacos サービスは Zookeeper に同期されており、バージョン番号を入力する必要はありません。ソース クラスターを選択すると、バージョン番号の入力ボックスは自動的に非表示になります。

  • アップグレード プロセス中、クライアントの新しいバージョンと古いバージョンが同時に存在します。展開構造は次のとおりです。
    ここに画像の説明を挿入

  • すべてのクライアントの移行が完了した後の展開構造は次のようになります。
    ここに画像の説明を挿入

  • これで、Zookeeper クラスターと NacosSync クラスターをオフラインにすることができます。

予防

  • 同期タスクを追加した後、次のサービスがターゲット クラスターに正常に同期されていることを確認する必要があります。これは、ターゲット クラスターのコンソールを通じてクエリできます。
  • NacosSync は高可用性クラスター モードの展開をサポートしており、同じデータベースを構成するだけで済みます。
  • サブスクライブしたサービスと公開したサービスを分類できない場合は、サービスを双方向で同期することをお勧めします。
  • 現在、Dubbo クライアントは Nacos の重み付け機能をサポートしていないため、重み付け機能を使用する場合は、ソリューションが適切かどうかを再検討する必要があります。

おすすめ

転載: blog.csdn.net/friendlytkyj/article/details/131756279