最新のマイクロサービスアーキテクチャは、イベント駆動型、リアクティブ、および振り付け(オーケストレーターによる集中制御とは対照的)であるため、緩く結合され、簡単に変更できます。
TL; DR:ああ、いや!イベントの流れを理解し、管理する上で障害に直面します。
この記事では、マイクロサービスの振り付けに関する私の経験を要約し、このアプローチのさまざまな障害と影響を指摘します。私は典型的なビジネス例である「顧客のオンボーディング」プロセスを使用しています(業界によっては、アカウントの開設と聞くかもしれません)。以下に示すイベントキューでは、Apache Kafkaを使用していますが、別のスタックを使用しても心配しないでください。同じ概念が適用されます。
マイクロサービスの振り付け
次のサービスとイベントが振り付けシステムを形成するとします。
このアプローチを使用するときに発生する主な障害は、次の質問で説明できます。
- イベントの流れを変更するにはどうすればよいですか?
- ? ?
- SLA ? - ? ? ?
- (, )?
, .
, . - . , , .
.
, , . :
. , .
. , . , . - .
?
, . - « », , . : “ ”, : “, , , ”. “ ‘ ’?”:
, . , , . , , . , — , . , , , . , , .
InfoQ (. “ ”) :
- ( Zipkin Jaeger)
- ( Elastic)
- ( ProM)
- ( Camunda)
, , , . . . Elastic — , . , - . , .
.
“ ” .
.
SLA, :
:
: ? ( ), .
, :
, :
Kafka Summit San Francisco 2018 (. “ Kafka Zeebe”), .
. “: .”
, , .
SLA
. ?
, . , . ( “ ” QCon London; . “ BPM ”).
(Java Spring Boot) “3 ”, Camunda, , ( GitHub). , .
, , . - ! , SLA , SLA.
, .
. “ ”. , ! . , -, -. .
“ ”, - , , , - , .
, . , . , , .
, , , , .
, , “” SOA BPM. . . , . , , GitHub.
, :
- , , “ ”. , . .
- , . , API . , , .
. , , -, .
. , , — , . , : . , , .
この投稿はもともとInfoWorldで公開されました。最近、QCon NYC (プレゼンテーション)でこのトピックについて講演しました。