マイクロサービスごとにユーザータイプを使用することは良いアプローチですか?
例:
ID管理コンテキストのユーザーは、事前定義されたuser_typesの1つを持つことができます。
affiliate_user
b2b_user
accomodation_owner
agent
admin
しかし、サポート境界のコンテキストの観点から見ると、それはエージェント(チケットに答えている人々)とend_users(質問している人々)だけに関心があります。
ID BC内で新しく作成されたユーザーがAccommodation_ownerである場合、彼はサポートBCにend_userとしてレプリケートされます。これは、彼が助けを求めることしかできないためです。
これは良い設計か悪い設計か?チケットを割り当てることができるように、すべてのエージェントをリストする必要がある場合はどうなりますか?.
特定のuser_typeのユーザーのIDマイクロサービスをクエリする必要がありますか、それともサポートマイクロサービスをクエリして、タイプエージェント(/api/support/agents
)?
あなたの説明から、ユーザーID(ユーザーアカウント、ログオン)を管理するためのマイクロサービスがあり、他のマイクロサービスで「ユーザータイプ」と呼んでいるものは承認の役割に対応している(つまり、このタイプのユーザーができること)マイクロサービス)。
ユーザーと承認を分離し、各マイクロサービスで承認を管理することは、優れたアーキテクチャのようです。
もちろん、依存関係を最小限に抑えた場合にのみ、疎結合の利点を維持できます。
ここでいくつかの追加の読書: