2

Spring Boot と RabbitMQ を使用して、マイクロ サービス アーキテクチャをテストしています。

私は今、2 つの小さなサービスを持っています: UserRegistrationService (ユーザーをデータベースに登録します) GetUserInfo (同じデータベースからユーザーを返します)

すべてのユーザー固有のサービスで同じデータベースを使用することにしました。

どちらのサービスもエンティティ「ユーザー」(JPA) を使用しています。(これは最も賢明な方法ではないかもしれません)

この依存関係を処理するスマートな方法はありますか? (2 つのサービスが同じエンティティに依存しています) エンティティ (ユーザー) を別のプロジェクトにして、アーティファクト リポジトリを使用する必要がありますか?

4

2 に答える 2

2

はい。ただし、さらに一歩進んで、メッセージ表現をデータベース表現から分離する必要があります。各サービス API の語彙オブジェクトの単純な DTO のみを含む API アーティファクトを定義し、関連するバックエンド オブジェクトを使用して、これらの DTO を参照してメッセージ駆動型 POJO を実装します。(Spring Integration を使用している場合は、Spring コンバーターを登録するだけで、自動的に前後にマップできます。)

于 2015-01-01T02:39:16.417 に答える