As arquiteturas modernas de microsserviço são orientadas a eventos, reativas e coreografadas (em oposição ao controle centralizado por meio de um orquestrador), o que permite que sejam fracamente acopladas e facilmente alteráveis, certo?
TL; DR: Oh, não! Você enfrentará obstáculos para compreender e gerenciar o fluxo de eventos.
Neste artigo, vou resumir minha experiência com coreografia de microsserviços e apontar os vários obstáculos e implicações dessa abordagem. Estou usando um exemplo típico de negócios, o processo de “integração do cliente” (dependendo do setor, você pode ouvir falar nele como a abertura de uma conta ). Para a fila de eventos apresentada abaixo, estou usando o Apache Kafka , mas não se preocupe se você estiver usando uma pilha diferente, os mesmos conceitos se aplicam.
Coreografia de microsserviços
Suponha que os seguintes serviços e eventos formem seu sistema coreografado:
Os principais obstáculos que surgem ao usar esta abordagem podem ser descritos pelas seguintes questões
- Como mudo o fluxo 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 postagem foi publicada originalmente no InfoWorld . Recentemente, também dei uma palestra sobre esse assunto no QCon NYC (Apresentação) .