
Perusahaan Anda mungkin ingin pindah ke arsitektur layanan mikro dan mengotomatiskan alur kerja (saya tidak akan memotivasi dalam posting blog ini, tetapi Anda mungkin ingin membaca tentang 5 Kasus Penggunaan Otomatisasi Alur Kerja yang Mungkin Tidak Anda Pertimbangkan atau BizDevOps - proposisi nilai sebenarnya dari mesin alur kerja ). Hal ini membuat Anda sejalan dengan banyak klien kami . Biasanya, Anda akan memiliki pertanyaan:
- Cakupan dan Batasan - Jenis alur kerja apa yang ingin Anda otomatisasi dan bagaimana cocok dengan beberapa layanan mikro, atau konteks yang terfragmentasi di lanskap Anda. Saya terbatas pada ruang lingkup posting ini, jadi saya tidak akan membahas topik ini hari ini, tetapi Anda mungkin ingin membaca Menghindari "BPM monolit" saat menggunakan konteks terbatas atau BPMN Kehidupan Nyata .
- Tumpukan dan alat - mesin proses mana yang dapat saya gunakan?
- Arsitektur - apakah saya menjalankan mesin proses secara terpusat atau terdesentralisasi?
- Manajemen - siapa yang memiliki model alur kerja dan bagaimana cara menerapkannya?
- Operasi - Bagaimana Saya Mempertahankan Kontrol?
, . , .
, -, . :
- — ?
- 3 : , RPC- «-»,
, , , flowing-retail GitHub. flowing-retail , . , Camunda BPM Zeebe. — , , .
, - (, Amazon) .
? ?
, , , ( «Microservices» Martin Fowler). Event-driven .
, . . , , , . , , . , , . , . , « - ?» « - , ?» . Complex event flows in distributed systems (, , QCon - DevConf ).
: https://github.com/berndruecker/flowing-retail/tree/master/kafka/java/choreography-alternative

, , . (. ), , , , , . Monitoring and Orchestration of Your Microservices Landscape with Kafka and Zeebe ( Kafka Summit -).

, . - , :

:

. , , . , , . , , :

flowing-retail , -: !

—
? , , ( ).
- ( )
- «-» / ( REST)

, , , .
. . . (« , , ») , (« , O42»).

- : Kafka, RabbitMQ (AMQP), JMS.
- : -, / , , , , Saga pattern, «Lost in transaction» (, , JavaZone Oslo).
- : https://github.com/berndruecker/flowing-retail/tree/master/kafka/java
- : ; - ; (, ) , .
- : , . , « ». .
- /
, , . — REST. . REST, — , ( , , , QCon London).

- : REST, SOAP, gRPC; : https://www.rabbitmq.com/tutorials/tutorial-six-java.html
- : (, ), -, / , , Saga pattern, «Lost in transaction» (, , JavaZone Oslo).
- : https://github.com/berndruecker/flowing-retail/tree/master/rest
- : ; .
- : , ; (, Circuit Breaker).
, , . .

- : External Tasks (Camunda BPM) Workers (Zeebe).
- : , -, / , , Saga pattern, «Lost in transaction» (, , JavaZone Oslo).
- : https://github.com/berndruecker/flowing-retail/tree/master/zeebe
- : ; .
- : ; — (, REST Messaging).
. , , , .
, Kafka Messaging, . , , REST, , , Spring Boot, . , , , , . Domain-driven design (DDD) , , Akka Axon, , , .
, , , . , , . , - , . , , , .
, . :
- , .
- , .
- , .
Architecture options to run a workflow engine.

. , , , . , () .
- : https://github.com/berndruecker/flowing-retail/tree/master/kafka/java/order-camunda
- : ; .
- : ( ); « » ().
: « , »?
. DevOps , . , , , .
, , , . , , , Elastic. (, , , ). . , , .

, , Camunda Optimize Zeebe Operate.
. , . REST (Camunda BPM) gRPC (Zeebe).

, , , .
,
. Camunda, (, Spring Boot Starter) . , . .

- : « ».
- : , , , Rolling Upgrade Deployment Aware Process Engine.
. .
. , , . . , : , . , — .
— , Camunda, , , . , , , .
, . , , - , .
, , , , .
(: ) , , .
, .

flowing-retail :
- : - .
- : .
, - . BPM — , - , — , .
« »?
: « »? : , , « ».
-, , , . , , , , , — . , , — , , , .
« », , , ( , ,…). , , . .
, . , . :

: , RPC- . :

Kepemilikan model alur kerja harus berada dalam lingkup layanan mikro masing-masing. Alur kerja harus difokuskan dengan jelas pada area ini.
Anda dapat menjalankan mesin alur kerja secara terpusat atau terdesentralisasi .
Track or Control - Anda harus mengupayakan perpaduan yang seimbang antara koreografi dan orkestrasi .