ユーザー管理とパブリケーションがBCであるかどうかはわかりませんが、エンティティの2つのサブセットではなく、異なるビジネス機能を提供するため、異なるサービスまたはACです。
UserエンティティのサブセットをPublicationsサービスに保存すると、サービスの臭いがする可能性があります。相関ID(userId)を除いて、2つのサービス間でデータの重複がないようにする必要があります。
パブリケーションサービスには、すべてのユーザーのリストは必要ありません。
メンテナンスやバージョン更新などの短いサーバーダウンタイムについて話している場合、UserManagementサービスから送信されたメッセージは、送信キュー(または構成されたタイムアウト後のエラーキュー)で利用可能になり、Publicationsサービスに再送信できます。以前のデータは、Publicationsデータストアにある必要があります。
別のシナリオについて考えてみましょう。たとえば、システムを1年間実行していて、パブリケーションサービスの機能を使用せずに、その間ずっとユーザー情報を収集しているとします。ここで、数百万のユーザーがいる後、新しいパブリケーションサービスを追加します。
最初は、そこにデータはありません。システムの現在のユーザーがログインすると、パブリケーションの詳細(Eメール、Twitter、Facebookアカウントなど)を入力する新しいページが表示される場合があります。これにより、パブリケーションサービスデータに新しいエントリが作成されます(関連するユーザーID)。新規ユーザーは、サインイン時にパブリケーションサービスデータストアにデータを追加します(必要な場合)。
それは役に立ちますか?