Les architectures de microservices modernes sont axĂ©es sur les Ă©vĂ©nements, rĂ©actives et chorĂ©graphiĂ©es (par opposition au contrĂŽle centralisĂ© via un orchestrateur), ce qui leur permet d'ĂȘtre faiblement couplĂ©es et facilement modifiables, n'est-ce pas?
TL; DR: Oh non! Vous rencontrerez des obstacles pour comprendre et gérer le flux des événements.
Dans cet article, je vais rĂ©sumer mon expĂ©rience de la chorĂ©graphie des microservices et souligner les diffĂ©rents obstacles et implications de cette approche. J'utilise un exemple commercial typique, le processus d ' «intĂ©gration client» (selon le secteur, vous pourriez entendre parler de l' ouverture d'un compte ). Pour la file d'attente d'Ă©vĂ©nements prĂ©sentĂ©e ci-dessous, j'utilise Apache Kafka , mais ne vous inquiĂ©tez pas si vous utilisez une pile diffĂ©rente, les mĂȘmes concepts s'appliqueront.
Chorégraphie des microservices
Supposons que les services et événements suivants forment votre systÚme chorégraphié:
Les principaux obstacles rencontrĂ©s lors de l'utilisation de cette approche peuvent ĂȘtre dĂ©crits par les questions suivantes
- Comment modifier le déroulement des événements?
- ? ?
- 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 . , , .
. , , -, .
. , , â , . , : . , , .
Cet article a été initialement publié sur InfoWorld . J'ai aussi récemment donné une conférence sur ce sujet à QCon NYC (Présentation) .