2016-07-20 1 views
2

マイクロサービスごとにデータストアを持っていることに関する多くの記事を読んだことがあります。私はこのアプローチを使用するつもりですが、モバイルゲートウェイとバックエンドサーバーの両方のアプリケーションから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の一種としてチャネルを使用するか?これはちょっとしたアプローチで始めるのですか?助言がありますか?ありがとう!

答えて

-1

したがって、同期ゲートウェイでは、チャネル、JSON Docs & USERSという概念があります。あなたが他の
のプロジェクトのために将来的にはデータの特定のサブセットを使用したい

  • :あなたはおそらくときに別の部分にデータを分けたいマイクロサービスモデルで

  • の特定の目的のために、そのデータの同期機能が必要な場合があります。
  • シンプルにして、すべてのデータタイプを管理するために非常に大きな 複雑な同期機能を管理したくない場合があります。

  • セキュリティ上の問題が非常にあります。したがって、公開情報用の1つの同期ゲートウェイデータベース と非常にプライベート/機密性のある データ用の2つ目の同期ゲートウェイデータベースがあります。