私はいくつかの外部サービスを使用するマイクロサービスをいくつか構築しました。これらの外部サービスは、私が構築した1つ以上のマイクロサービスによって消費されることはほとんどありません。私はこれらのマイクロサービスへのコネクタをライブラリプロジェクトとして構築し、それを私のすべてのマイクロサービスプロジェクトに依存として含めました。しかし、私は、マイクロサービスのためのすべてのロジックは自己完結型でなければならず、ロジックの重複は大丈夫だと読んでいます。その場合、共有ライブラリを持たずに各マイクロサービスごとにこれらのコネクタを定義することをお勧めしますか?マイクロサービスへの依存性の追加
答えて
... microservicesためのすべてのロジックは、自己完結型とロジックの 重複する必要がありますokです
私は、これはあなたが苦労している問題の核心だと思います。このステートメントは実際には真実ですか?後で
迅速なGoogle検索:私たちは今、microserviceアーキテクチャにおける再利用の適切なレベルがどのようなものですとしてフレームすることができ、この正確な質問、およそ http://www.simplicityitself.io/our%20team/2015/01/12/sharing-code-between-microservices.html
この記事の話?
著者はカップリング及びアイソレーションの損失の面で最高に最低から注文の開発者がコードを共有する必要性を感じる理由のリストを、提供:技術的機能
- 活用クラスを使用して、たとえば共有スキーマの実施としてデータ・スキーマを共有する。
- データソースの共有、複数のサービスによる同じデータベースの使用。
このリストは、理由のほとんどをカバーしていますが、私は一般的にMicroservice Chassisパターンと呼ばmicroservicesの急速なスタンディングアップのための共通の枠組み、と関係しているコードを共有する別の重要な理由を、追加します。
著者は言うに行く:
それは 共有コードに望むためにあなたのモチベーションを突き止めるために最も重要であるが、残念ながらこの 質問に対する正しい答えはありません。他のすべてのものと同様に、それは文脈的です。
だから、あなたはあなたのコネクタを集中化するべきかどうか、そうではありませんか?
まあ、これらの依存関係はどこに当てはまりますか?そして、あなたはもはやマイクロサービスをやっていないが、代わりにモノリスを構築する前に、どの程度のカップリングを耐えることができますか?
これは簡単な質問ではありませんが、正しい結論に導くのに役立ちます。
ありがとう、トム。はい、私はそれを考える必要があります。今のところ、私はライブラリを使ってコネクタのデータスキームを共有するのが最良のアプローチだと思っています。しかし、私はそれを考えなければならないと思います。 –
- 1. Allegroアドオンのランタイム依存性の追加?
- 2. CMake:add_custom_commandへの依存性を動的に追加
- 3. 追加の依存性 - ダガー2
- 4. 追加の依存休憩Mavenプロジェクト私は私のプロジェクトへの依存関係としてorg.apache.hbase追加
- 5. 依存性注入サービスへ
- 6. クラスのセットへの依存性注入
- 7. 他のプロジェクトへのJavaプロジェクト依存性
- 8. rJavaのJDKへの依存性
- 9. Spring - ServletContextListenerへの依存性の注入
- 10. Apacheのコモンズ・テキストへの依存性?
- 11. Crystal Reportsのビューへの依存性
- 12. mongodbエンティティへの依存性の注入
- 13. AutofacでのRegisterTypeへの依存関係の追加
- 14. サブチャイルドコンポーネントへのAngularJS 2依存性注入
- 15. Spring Beanへの依存性注入
- 16. Scala - コンパニオンオブジェクトへの依存性注入
- 17. UserControlへの依存性注入
- 18. AuthorizationOptionsへの依存性注入
- 19. Java EE - バッチレットへの依存性注入
- 20. マルチプロジェクトビルド:テストjarへの依存性
- 21. モデルクラスへのAngularJS(1.5)依存性注入
- 22. コンソールアプリケーションへの依存性注入
- 23. モジュールへの依存性注入
- 24. MVVMLight ViewModelLocatorへの依存性注入
- 25. WebアプリケーションへのMaven依存性
- 26. スレッドプライベートストレージへのOpenMPタスク依存性
- 27. Nuget Packagerのタスク依存性が追加されない
- 28. Shell32.libへの依存関係をWDKメイクファイルに追加
- 29. UFT時間依存性を追加してテストをスケジュールする
- 30. m2eは常に依存性を常に追加します
"マイクロサービス用のすべてのロジックは自己完結型で、ロジックの複製はOK" – dnault
@dnault - how about https://www.infoq.com/news/2015/01/microservices-sharing-code 。私はあなたの感情に同意します、しかし、それは上記の声明の支持者を見つけることはかなり簡単でした... –