Өнгөрсөн жилийн турш, үйл явц суурилсан архитектур нь эдгээр системийг бий болгохын тулд ихэвчлэн загвар болгосон бөгөөд Apache Kafka нь олон үйл явцтай худалдааны боловсруулах хоолойны хоолой юм. Энэ бичлэг нь үйлдвэрлэлийн орчинд өндөр түвшинд худалдааны систем дээр ажиллаж байгаа үндсэн архитекторын шийдэл, техникийн загвар, үйл ажиллагаатай лекцийн талаар үзэж байна. Why Event-Driven Architecture for Trade Processing Үйлчилгээний үйл явдлын архитектурын хувьд яагаад Тээврийн зах зээлийн давтамж, дамжуулалт шаардлагад хангахын тулд уламжлалт хүсэлт-сэтгэгдэл систем нь харьцуулахад харьцуулахад харьцуулахад харьцуулагдаж байна. Үйлчилгээний захиалгаээс төлбөрийн баталгаажуулалт хүртэл нэг нь орд менежментийн систем, ризик хөдөлгүүр, валютын галт тэрэг, чичиргээний орон сууц, нийцлийн шалгуур дамжуулдаг. Бүх хоорондоо давтамж өгдөг, ямар ч синхрон утасны цуврал нь нэг уян хатан бүрэлдэхүүн хэсэг нь бүрэн дамжуулалтыг харуулдаг хязгаарлалт график бий болгодог. Event-Driven Architecture нь үйлдвэрлэгчид, хэрэглэгчид бүрэн хуваалцахын тулд энэ нь шийддэг. Ажлын дараа систем үйл явцыг өгдөг. Хэвийн баталгаажуулалт, арилжааны өмнөх тохиргооны шалгалт, байрны калькулятор гэх мэт доорх үйлчилгээ нь энэ үйл явцыг өөр өөрсдийгөө, өөрсдийн хурдацтай хэрэглэж байна. Эцэст нь систем нь хоризонтал хүрээтэй, хялбар арилжаа, хяналтын үйлчлүүлэгчид нь ихэвчлэн хүсч байгаа байнгын аудитын шугам санал болгож байна. Kafka as the Central Nervous System Кафка, төв нерв систем Apache Kafka энэ загвард байгалийн тохиромжтой байдаг, учир нь энэ загвар нь өндөр дамжуулалттай, тогтвортой, захиалсан үйл явдлын хэвлэхэд зориулагдсан. Типын худалдааны хоолойд бид худалдааны амьдралын жишээ нь өөр өөр Kafka загвар болгон үйл ажиллагаа явуулж байна: order.submitted, order.validated, order.routed, trade.executed, trade.confirmed, and settlement.initiated. Дараагийн загвар нь өөр өөр хэлбэрийн хэлбэрийн хувилбар юм. Хамгийн чухал дизайны сонголт нь хуваалцах стратегийн нэг юм. худалдааны системд, инструмент идентичлүүлэгч эсвэл данс идентичлүүлэгч дагуу хуваалцах нь тодорхой аюулгүй байдлын эсвэл хэрэглэгчдийн бүх үйл явдлыг нэг хэрэглэгчийн үйл явдлын хувьд орно. Энэ нь байршуулалтын хянах хувьд маш чухал юм. Энэ нь out-of-order боловсруулах нь хязгаарлагдмал цахилгаан ачаалал үүсгэх боломжтой. байршуулалтын нөхцөл хувьд хавтгайз бүтэц ашиглан хэрэглэгчдэд үйл явдлын жагсаалтаас одоогийн байршуулалтыг шинэчлэх боломжийг олгодог. Building for Resilience: Idempotency and Exactly-Once Semantics Хөнгөн цагааны барилга: Idempotency болон Exactly-Once Semantics Дистрибьюторын худалдааны системд найдвартай асуудлуудын нэг нь борлуулалт нь зөв нэг удаа боловсруулсан гэж баталгаажуулах юм. сүлжээний хуваалцах, хэрэглэгчийн хавтгай, брокергийн тэргүүлэгч сонголт нь дараах өгөгдлийг өөрчилж болох юм. Хэрэв худалдааны боловсруулсан үйлчилгээ идэвхтэй биш бол, дупликат өгөгдлийг хоёр удаа захиалж, богино P & L, эсвэл зайлсхийх зайлсхийх зааврыг үүсгэх болно. Кафка-ийн тавтай морилно уу, transactional producer API-г дамжуулан танилцуулсан хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн Програм хангамжийн хавтгай дээр бид дэлхий даяар нэгтгэсэн арилжааны ID-ийг орд эхэлж, хооронд deduplication хавтгай болгон ашигладаг. Бүх үйлчилгээ нь хамгийн сүүлийн үеийн боловсруулсан арилжааны ID-тэй орон нутгийн хавтгай эсвэл хурдан хавтгай үнэ цэнэтэй хадгалах бөгөөд бизнесийн логик гүйцэтгэхийн өмнө ямар ч дупликат тавих болно. Энэ хоёр хавтгай арилжаа Kafka түвшин арилжаа, хэрэглээний түвшин deduplication нь найдвартай арилжаа санал болгож байна. Schema Management and Contract Stability Шагналт удирдлага, контракт тогтвортой байдал Олон багц орчинд, янз бүрийн групп өөр хэрэглэгчдэд эзэмшдэг, схем тогтвортой байдал нь чухал үйл ажиллагаатай асуултууд болж байна. Хэрвээ орд.гийлсэн үйл явц схем өөрчилж байгаа бол доорх хэрэглэгчдэд тавтай морилно уу. Бид Avro схемүүдтэй Confluent Schema Registry-ийг ашиглаж, CI / CD хоолой хэсэгт дараагийн болон дараагийн нийцлийн хяналтыг хангах. JSON дээр суурилсан системд өргөн хэрэглэгддэг шууд хуваалцах өөрчлөлтийг урьдчилан сэргийлэхийн тулд нийцлийн баталгаажуулалтаар ямар ч схем өөрчилж болно. Тавтай морилно уу, тавтай морилно уу, Тавтай морилно уу, Тавтай морилно уу, Тавтай морилно уу, Тавтай морилно уу, Тавтай морилно уу! Operational Patterns: Dead Letter Queues and Circuit Breakers Үйлчилгээний загвар: Dead Letter Chews болон Circuit Breakers Түүнчлэн хүчтэй контракт, транзакцийн хэлбэлзэл, найдвартай мэдээ болж чаджээ. Арилжааны өгөгдлийн жигнэмэг нь нягтралтай үнэ үүсгэх болно. Арилжааны систем нь шаардлагагүй хэлбэртэй худалдааны баталгаажуулалтыг илгээж болно. Эдгээр хязгаарлалыг боловсруулсан арга хэрэгсэлгүйгээр нэг дуртай хэлбэл нь хэрэглэгч нь хэд хэдэн цагийн дотор бүрэн хуваалцлыг хамардаг. Бид үхсэн хэлбэрийн загвар ашигладаг бөгөөд өөрчилж болно хэд хэдэн retries дараа боловсруулсан ямар ч хэлбэрийн өөрчилж чадахгүй байгаа эсэхийг .dlq хавхлагатай нэрээр нэрлэгддэг онцгой хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлбэрийн хэлб Хэрэглэгчийн дотор гарын авлагатай үйлчилгээний дуудлага, жишээ нь үнэ төлбөр үйлчилгээ, харин хандах өгөгдлийн API-ийн дуудлага, бид Resilience4j гэх мэт цуврал ашигладаг. Хэрэглэгчийн гарын авлага буцаж байгаа бол гарын авлага буцаж эхэлнэ, хэрэглэгчийн буцаж байлгах үед хэрэглэгчийн хязгаарлалтгүй хугацаагаар буцаж байхдаа тавтай морилно уу. Энэ нь дуудлага буцаж байлгах үед хэрэглэгчийн хязгаарлалт нэмэгдүүлдэг. Monitoring and Observability in Production Бүтээгдэхүүний хяналт, хяналт Kafka-д суурилсан худалдааны хоолойны үндсэн эрүүл мэндийн метрик нь хэрэглэгчийн группын ачаалал юм. Бид бүх хэрэглэгчийн группын ачаалал метрикуудыг төвлөрсөн хяналтын системд ачаалал, ачаалал тусгай үйлчилгээний ачаалалтай ачаалалтай ачаалалтай ачаалалтай ачаалалтай ачаалалтой ачаалалтай үед ачаалалтай. Өнгөрсөн ачаалалтай ачаалалтай ризик хөдөлгүүр нь ачаалал 5 секундын дээшээс ачаалалтай бол ачаалал үүсгэх ёстой. Бүх үйл явдлыг үүсгэхийн тулд цаг хугацааны жагсаалттай, тус бүр үе шатд өнгөрсөн цаг хугацааны хэмжээгээр дараах үйл явдлыг харах болно. OpenTelemetry-ийг ашиглан дистрибьютировантэй харахын тулд бид үйлчилгээнд нэг худалдааны бүрэн аялал визуалж чадна, энэ нь бутлуур бутлуур идентифичлэхэд үнэ цэнэтэй байдаг. Үнэндээ, хамгийн том давтамжийн туслагч нь ихэвчлэн базын өгөгдлийн бичлэгүүд, синхрон гарын авлага, Кафка нь биш. Looking Ahead Өнгөрсөн Kafka дээр суурилсан үйл явцтай архитектур нь санхүүгийн арилжааны боловсруулах нь хүчтэй суурилсан гэж үзсэн боловч энд тайлбарласан загварууд үйл ажиллагааны шинжлэх ухааны, схемийн удирдлагын, үзүүлэлттэй арга хэрэгсэл дээр хөрөнгө оруулалт хийхыг шаарддаг. Финансийн компаниуд бодит цаг арилжааны загваруудтай, эрчимтэй хяналтын өгөгдлийн шаардлагыг сайжруулдаг тул үйл явц шугам нь өөрчилж, хяналтын, selective reprocessing боломжийг илүү үнэ цэнэтэй байдаг. Kafka-ийн тогтвортой лог нь зүгээр л тээвэрлэлтийн хавтгай биш юм. Энэ нь бизнесийн статусын үндсэн бүртгэл юм. Бүх организацийг бий болгох боломжтой.