Las arquitecturas modernas de microservicios están impulsadas por eventos, reactivas y coreografiadas (a diferencia del control centralizado a través de un orquestador), lo que les permite acoplarse libremente y ser fácilmente cambiables, ¿verdad?
TL; DR: ¡Oh, no! Te enfrentarás a obstáculos para comprender y gestionar el flujo de eventos.
En este artículo, resumiré mi experiencia con la coreografía de microservicios y señalaré los diversos obstáculos e implicaciones de este enfoque. Estoy usando un ejemplo comercial típico: el proceso de "incorporación de clientes" (según la industria, es posible que escuche que abre una cuenta ). Para la cola de eventos que se presenta a continuación, estoy usando Apache Kafka , pero no se preocupe si está usando una pila diferente, se aplicarán los mismos conceptos.
Coreografía de microservicios
Suponga que los siguientes servicios y eventos forman su sistema coreografiado:
Los principales obstáculos que surgen al utilizar este enfoque se pueden describir mediante las siguientes preguntas
- ¿Cómo cambio el flujo de eventos?
- ? ?
- 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 . , , .
. , , -, .
. , , — , . , : . , , .
Esta publicación se publicó originalmente en InfoWorld . Recientemente también di una charla sobre este tema en QCon NYC (Presentación) .