私は現在 zeromq を試しており、分散サービス指向アーキテクチャを構築しています。各サービスは、共通データベースのデータを操作する必要があります。
最善の方法は何ですか:
- モデルを定義するすべてのサービスで共有ライブラリを使用します。各サービスはデータベースに接続します
- データベースを抽象化するデータ サービスを使用します。他のすべてのサービスは、このサービスを介してデータにアクセスします。データは、プロトコル バッファを使用して送信できます。
2 番目のオプションの方がきれいに思えますが、データへの要求ごとにネットワーク通信が 1 つ増えるため、パフォーマンスへの影響が心配です。
将来的には、データベース以外のデータ ソースが存在する可能性があります。そのため、私は 2 番目のオプションを念頭に置いていましたが、それを過度に設計することを恐れています。