マイクロサービスごとにデータストアを持っていることに関する多くの記事を読んだことがあります。私はこのアプローチを使用するつもりですが、モバイルゲートウェイとバックエンドサーバーの両方のアプリケーションからSync Gateway REST APIコールを使用したいので、Couchbase Sync Gatewayを使用して最善の方法を知りたいと考えています。私はこれについて最も簡単な方法は、1つのCouchbaseクラスタ(3-n Couchbase Serverインスタンス)を2〜3バケットにすることだと考えています。セッションのためのバケット、おそらく私のすべてのデータのためのバケット、そして後でいくつかのバケット。各マイクロサービスの「データベース」ごとに、それぞれに異なる物理クラスタを持つ代わりに、すべてのデータを1つのバケットに入れ、データベースとテーブルをドキュメントフィールドで区別する必要があると考えています。だから、多分私のようなものを持っているでしょう:Couchbaseマイクロサービスアーキテクチャ
{
database: 'person-api'
doc_type: 'Person'
...
}
私はまた、すべての私の同期のゲートウェイ設定ファイル内の同じバケットを指し示すサービスごとに複数のデータベースエントリを持っているでしょう。次に、ACLや、バックエンドサーバーアプリケーションが自分のデータベースにアクセスできるようにする何らかのコントロールを設定する必要があります(つまり、election-apiサーバーは対応するdatabase
プロパティのドキュメントの読み取り/書き込みのみ可能でした)。これは、すべて少なくともSync Gateway経由でなければなりません(少なくとも、sdksを使用してほとんどの読み取りを行う可能性があります)。
同期ゲートウェイはまだ私には混乱していますが、これが最善の方法であるかどうかはわかりません。私はちょうどACLの一種としてチャネルを使用するか?これはちょっとしたアプローチで始めるのですか?助言がありますか?ありがとう!