マイクロサービスについては、コードを再利用しないでください。実際に、DRYは一般的にMicroservicesで間違っていると述べると危険です。そうではなく、次の質問をする必要があります。Will the shared code be a separate module with a dedicated purpose that rectifies a separately managed lifecycle and releases?
はいの場合は、別途リリースされたモジュールとして再利用する必要があります。サードパーティのライブラリを再利用する方法と同様です。これにより、各マイクロサービスチームは、モジュールの特定のリリースバージョンを使用するか、新しいバージョンにアップグレードするかどうかを決めることができるため、共有コードとマイクロサービス間の強力な結合を保証しません。あなたが避けたいのは、再利用されたライブラリが変更されたときにマイクロサービスを変更する依存関係です(波及効果を避ける)。
もう1つ - DB関連のスキーマと言えば、別の質問をする必要があります:Will the schemas being reused in separate DBs or will they refer to the same physical DB in the end?
。それらが共有DBを使用して終了する場合は、2つのMicroservicesを効果的に結合しているため、おそらく別々のサービスではなく同じサービスの一部と見なされるべきです。
私はこれがあなたのサービスと目標についてもっと知らずに私が言うことができるほどですと感じます。