マイクロサービスのオーケストレーションは、製品に複雑なプロセスを構築するのに役立ちます。このメカニズムを手作業で作成する必要がないように、開発者はマイクロサービスを管理するためのツールを含む既製のフレームワークを使用できます。True Engineeringはこのトピックを研究し、そのような3つのフレームワークについて話します。
複雑なビジネスプロセスを自動化する場合、製品には一度に複数のマイクロサービスが含まれる可能性があります。また、モノリスで複数のモジュールの相互作用を構築するのが非常に簡単な場合、そのような各コンポーネントが個別のアプリケーションである分散アーキテクチャでは、問題が発生します。
マイクロサービスオーケストレーターは、プロセスの実行を監視します。その結果、データが失われることなく、サポートが問題を修正しやすくなり、開発者がシステム全体の開発を管理しやすくなります。
このようなモジュールを最初から作成することも、既製のフレームワークを使用することもできます。企業に複数の開発チームがある場合、そのようなフレームワークは不可欠です。まず、プログラマーは同じ仕事を何度も繰り返す必要はありません。第二に、全員が共通のツールを使用する場合、チームの作業基準は統一されており、これは製品の品質にすぐに影響します。車輪の再発明ではなく、誰もが共通のツールの開発に集中しています。
オーケストレーションフレームワークアーキテクチャ
フレームワークには、すぐに使用できるオーケストレーションコンポーネントが含まれています。これはオーケストレーター自体であり、タスクを受け入れ、実行のために動作中のマイクロサービスに転送します。
(, ), , . « », « », « ». . , , .
, .
. , . , .
. . , - , , - . , Saga – , - .
. , .
. , (, Java .NET).
, . , .
Conductor Netflix. - JSON-. , . - – .
Zeebe Camunda. Camunda – BPMN-, (, -). Camunda, Zeebe . – , -. XML-.
Temporal. . – , . .
:
. Zeebe . Temporal – .
. , yj Zeebe . Saga .
. .
. Java-, .NET- .
比較は特効薬がないことを示しています-各フレームワークは独自の方法で優れています。ツールはコマンドを使用したダイアログで選択する必要があります。JSONの操作に慣れている人もいれば、視覚化を高く評価する人もいれば、クリーンなコードを使用したい人もいます。
ただし、どのフレームワークも、各製品のコードにオーケストレーションを個別に埋め込むよりも優れています。このように、開発者はメカニズムを再掘り下げて、毎回コードをオーバーロードする必要があります。また、会社全体で、すべてのチームを共通の開発プラットフォームに移行するのに役立つ統一された標準を取得できます。