2

マイクロサービスごとにデータストアを持つことに関する多くの記事を読みました。私はこのアプローチを使用しますが、モバイル アプリとバックエンド サーバー アプリの両方から Sync Gateway REST API 呼び出しを使用したいので、Couchbase Sync Gateway を使用する最善の方法を知りたいです。これを実現する最も簡単な方法は、1 つの Couchbase クラスター (3-n の Couchbase Server インスタンス) におそらく 2 ~ 3 個のバケットを使用することだと考えています。おそらくセッション用のバケット、すべてのデータ用の別のバケット、そして後で別のバケット。各マイクロサービスの「データベース」について、それぞれに異なる物理クラスターを用意するのではなく、すべてのデータを 1 つのバケットに入れ、データベースとテーブルをドキュメント フィールドで区別する必要があると考えています。だから多分私は次のようなものになるでしょう:

{
  database: 'person-api'
  doc_type: 'Person'

  ...
}

また、サービスごとに複数のデータベース エントリがあり、すべてが sync-gateway 構成ファイル内の同じバケットを指しています。次に、バックエンド サーバー アプリケーションが独自のデータベースにアクセスすることのみを許可する ACL または何らかのコントロールを設定する必要があります (したがって、「election-api」サーバーは、対応するプロパティを持つドキュメントのみを読み書きできdatabaseます)。少なくとも書き込みの場合、これはすべて同期ゲートウェイを介する必要があります (代わりに SDK を使用してほとんどの読み取りを行う可能性があります)。

Sync Gateway はまだ少し混乱しており、これが最善のアプローチかどうかはわかりません。チャネルを一種の ACL として使用しますか? これはそもそも悪いアプローチですか?助言がありますか?ありがとう!

4

1 に答える 1

-1

したがって、同期ゲートウェイには、 CHANNELS 、 JSON Docs 、および USERS の概念があります。

マイクロ サービス モデルでは、次のような場合に、データをさまざまな部分に分割する必要があります。


  • 将来、他のプロジェクトで特定のデータのサブセットを使用したいと考えています。
  • 特定の目的のために、そのデータに同期機能を持たせたい場合があります。
  • すべてのデータ型を管理するために非常に大規模で複雑な同期機能を管理したくない場合は、物事をシンプルに保ちたいと思うかもしれません。

  • 非常に具体的なセキュリティ上の懸念があります。そのため、公開情報用に 1 つの同期ゲートウェイ データベースを用意し、非常にプライベートなデータや機密データ用に 2 つ目の同期ゲートウェイ データベースを用意します。

于 2016-07-25T19:23:02.123 に答える