إن معماريات الخدمات المصغرة الحديثة مدفوعة بالأحداث ، ومتفاعلة ، ومصممة للرقص (على عكس التحكم المركزي عبر منسق) ، مما يسمح بربطها بشكل غير محكم وقابل للتغيير بسهولة ، أليس كذلك؟
TL ؛ DR: أوه لا! سوف تواجه عقبات في فهم وإدارة تدفق الأحداث.
في هذه المقالة ، سألخص تجربتي مع تصميم الرقصات المصغرة وأشير إلى مختلف العقبات والآثار المترتبة على هذا النهج. أنا أستخدم مثالًا تجاريًا نموذجيًا ، عملية "إعداد العميل" (اعتمادًا على الصناعة ، قد تسمع عنها على أنها فتح حساب ). بالنسبة لقائمة انتظار الأحداث المعروضة أدناه ، أنا أستخدم Apache Kafka ، لكن لا تقلق إذا كنت تستخدم مكدسًا مختلفًا ، فسيتم تطبيق نفس المفاهيم.
تصميم الكوريغرافيا للخدمات المصغرة
افترض أن الخدمات والأحداث التالية تشكل نظامك المصمم للرقصات:
يمكن وصف العقبات الرئيسية التي تنشأ عند استخدام هذا النهج من خلال الأسئلة التالية
- كيف أقوم بتغيير تدفق الأحداث؟
- ? ?
- 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 . , , .
. , , -, .
. , , — , . , : . , , .
تم نشر هذا المنشور في الأصل على InfoWorld . لقد ألقيت حديثًا مؤخرًا حول هذا الموضوع في QCon NYC (عرض تقديمي) .