Como controlar microsserviços baseados em eventos

Como controlar microsserviços baseados em eventos

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:



Como controlar microsserviços baseados em eventos

Os principais obstáculos que surgem ao usar esta abordagem podem ser descritos pelas seguintes questões



  • Como mudo o fluxo de eventos?
  • ? ?
  • SLA ? - ? ? ?
  • (, )?


, .







, . - . , , .



Como controlar microsserviços baseados em eventos



.



, , . :



Como controlar microsserviços baseados em eventos



. , .



. , . , . - .





?



, . - « », , . : “ ”, : “, , , ”. “ ‘ ’?”:



, . , , . , , . , — , . , , , . , , .

Como controlar microsserviços baseados em eventos



InfoQ (. “ ”) :



  1. ( Zipkin Jaeger)
  2. ( Elastic)
  3. ( ProM)
  4. ( Camunda)


, , , . . . Elastic — , . , - . , .







.



Como controlar microsserviços baseados em eventos



“ ” .



Como controlar microsserviços baseados em eventos



.



Como controlar microsserviços baseados em eventos



SLA, :



Como controlar microsserviços baseados em eventos



:



Como controlar microsserviços baseados em eventos



: ? ( ), .



, :



Como controlar microsserviços baseados em eventos



, :



Como controlar microsserviços baseados em eventos



Kafka Summit San Francisco 2018 (. “ Kafka Zeebe”), .



. “: .”



, , .





SLA



. ?



, . , . ( “ ” QCon London; . “ BPM ”).



Como controlar microsserviços baseados em eventos



(Java Spring Boot) “3 ”, Camunda, , ( GitHub). , .



, , . - ! , SLA , SLA.



, .



Como controlar microsserviços baseados em eventos





. “ ”. , ! . , -, -. .



“ ”, - , , , - , .



, . , . , , .



Como controlar microsserviços baseados em eventos





, , , , .



Como controlar microsserviços baseados em eventos

, , “” SOA BPM. . . , . , , GitHub.







, :



Como controlar microsserviços baseados em eventos



  • , , “ ”. , . .
  • , . , API . , , .


. , , -, .







. , , — , . , : . , , .





Esta postagem foi publicada originalmente no InfoWorld . Recentemente, também dei uma palestra sobre esse assunto no QCon NYC (Apresentação) .




All Articles