Transactional Outbox түшүнүгүн түшүндүрө аласызбы жана ал эмне үчүн колдонулат?
sobes.tech AI
AIден жооп
Transactional Outbox — бул үлгү, бөлүштүрүлгөн системаларда билдирүүлөрдүн ишенимдүү жеткирилишин камсыз кылуу үчүн колдонулат, өзгөчө маалымат базасы менен билдирүү алмашуу системасынын шайкештигин камсыз кылуу керек болгондо.
Идеясы — бизнес операцияны аткаруу учурунда, маалыматтарды өзгөртүп жатканда, ошол өзгөртүүлөр менен бирге, чыгарылышы керек болгон окуя тууралуу маалыматтарды камтыган атайын жазуу (outbox) ошол эле транзакцияда жазылат.
Жакшы ишке ашкан транзакциядан кийин, бөлөк процесс же кызмат бул outbox жазууларыны окуп, билдирүүлөрдү кезекке же билдирүү брокерине жиберет.
Бул, outbox жазуусу жана маалыматтарды өзгөртүү атомдук түрдө болорунан улам, билдирүүлөрдүн жоголушу же маалыматтардын синхрондоштуруусундагы көйгөйлөрдү алдын алууга жардам берет.
Мисал:
- Транзакцияда биз заказдар таблицасын жаңыртабыз жана outbox таблицасына жазуу кошобуз.
- Транзакциянын ийгиликтүү аяктагандан кийин, бөлөк иштөөчү бул outboxтун жаңы жазууларыны окуп, Kafka, RabbitMQ жана башка системаларда окуяларды жарыялайт.
- Ийгиликтүү жөнөтүүдөн кийин, outbox жазуусу өчүрүлөт же иштетилген деп белгиленет.
Ошентип, маалымат базасы менен билдирүү системасынын ортосунда ишенимдүү интеграция камсыз кылынат, маалымат жоготпостон.