1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Sync Gateway機能解説:Sync Gateway間レプリケーション

Last updated at Posted at 2022-03-10

はじめに

ここでは、Couchbase Mobileを構成するSync Gatewayの機能であるSync Gateway間レプリケーションについて解説します。

なお、Couchbase Mobileについては、Couchbase Mobileアプリケーション開発へのロードマップに記事をまとめている他、(これらの記事を元に構成した)以下の電子書籍を無償で頒布しています。

また、Couchbase Mobileは、Couchbase LiteとCouchbase Serverとのデータ同期機能を提供します。Couchbase Serverの存在意義、機能詳細、利用方法等については、拙著NoSQLドキュメント指向データベースCouchbase Serverファーストステップガイド(インプレスR&D刊)や、NoSQL/JSONデータベースCouchbase Server理解・活用へのロードマップにまとめてある記事をご参考ください。

背景

Sync Gateway間レプリケーション(Inter Sync Gateway Replication)は、複数のSync Gatewayの同期を実現します。

これによって、クラウドや中央データセンターと同期するSync Gateway(と対応するCouchbase Server)をエッジデータセンターに配置することができ、Couchbase Liteを使ったモバイルサービスは、ローカリティーの恩恵を実現することができます。

Couchbase Mobileは、古典的なスタートポロジーからなる構成に留まらず、マルチティア階層のネットワーク構成に対応することができます。

関連技術

エッジデータセンター

各パブリッククラウドから、下記のようなエッジデータセンターを実現するサービスが提供されています。

  • AWS Local Zones
  • AWS Wavelength
  • AWS Outpost
  • Azure Edge Services
    • Azure Edge Zones
    • Azure Edge Zone w/ Operator
    • Azure Private Edge Zone
  • Google Distributed Cloud Powered by Anthos

多階層でのデータ同期においては、きめ細かいアクセス制御を実施しながら、集中型クラウドクラスターと多数のエッジクラスター間で同期する必要があります。このような要件は、エンタープライズレベルでますます重要となっています。

データストリーミング

センサー等のIoT/エッジデバイスで発生した情報を収集するための技術として、データストリーミングを実現する様々な技術が存在します。オープンソーステクノロジーとしては、例えば以下のようなものがあります。

  • Apache Kafka
  • Apache NiFi
  • Apache Flink
  • Apache Spark Streaming

このようなデータストリーミングの技術を組み合わせ、下流と上流でデータの入出力を構成する代わりに、エッジデバイス上のデータベースとしてCouchbase Liteを用いて、通信に関わる処理をCouchbase Mobileに委ねることが考えられます。

Sync Gateway間レプリケーション解説

アーキテクチャー

Sync Gateway間レプリケーションでは、ローカルのSync Gatewayノードのレプリケータにより、Sync Gatewayを介してローカルのCouchbase Serverデータベース内のドキュメントに対して行われた変更が、リモートのCouchbase Serverデータベースに対して反映されることが、ローカルとリモートのSync Gatewayノードの協働によって保証されます。変更は、レプリケーションの構成に従って、他のSync Gatewayインスタンスにレプリケートされます。

ここでのローカル/リモートの関係は、変更の発生した側をローカルと捉えた、いわば相対的な関係です。エッジ=ローカル、リモート=中央データセンターではなく、同期は双方向でありえることにご注意ください。

image.png

Sync Gateway間レプリケーションは、Couchbase Liteクライアントとのレプリケーションと同様に、WebSocketに基づいています。両者は、まったく同じプロトコルです。

ユースケース

マルチクラウド展開モードでは、多数のマルチエッジクラスターがクラウドデータセンターのクラスターと同期します。
各エッジは、万が一クラウドデータセンターへのネットワークが失われた場合も自律的に動作します。

image.png

Couchbase ServerのXDCRとの関係

Couchbase Serverは、XDCR(クロスデータセンターレプリケーション)という、クラスター間同期の機能を提供しています。
Sync Gateway間レプリケーションは、Couchbase LiteアプリケーションとCouchbase Serverとの同期を行う場合に特有の処理を担います。Couchbase Liteどの同期が介在しない場合は、複数のCouchbase Serverの同期のために、Sync Gateway間レプリケーションを用いるのではなく、XDCRを用います。

関連情報

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?