Розробка системи управління вебхуками з можливістю автономного розгортання

dc.contributor.authorГрачов, Богдан Костянтинович
dc.date.accessioned2026-06-29T08:23:23Z
dc.date.available2026-06-29T08:23:23Z
dc.date.issued2026
dc.descriptionГрачов Б. К. Розробка системи управління вебхуками з можливістю автономного розгортання : кваліфікаційна робота бакалавра спеціальності 121 "Інженерія програмного забезпечення" / наук. керівник С. І. Гоменюк. Запоріжжя : ЗНУ, 2026. 63 с.uk
dc.description.abstractUA : Робота викладена на 63 сторінках друкованого тексту, містить 41 рисунок, 4 таблиці, 10 джерел, 1 додаток. Об’єкт дослідження – процес розробки системи управління вебхуками з можливістю автономного розгортання. Мета роботи: розробка застосунку для керування вебхуками з можливістю автономного розгортання. Методи дослідження – методи об’єктно-орієнтованого програмування, методи проєктування REST API та версіонування інтерфейсів, методи асинхронної обробки повідомлень із використанням брокера черг, методи забезпечення надійної доставки на основі механізмів повторних спроб та експоненційного відступу. У роботі проведено аналіз існуючих рішень у сфері управління вебхуками – як хмарних сервісів (Svix, Hookdeck, Convoy), так і самостійно розгорнуваних альтернатив. Встановлено, що більшість комерційних платформ не надають повного контролю над інфраструктурою та накладають обмеження на обсяг доставлень. На основі аналізу спроєктовано систему з модульною монолітною архітектурою, розподіленою на чотири ізольовані обмежені контексти з власними базами даних PostgreSQL. Для гарантованого доставлення реалізовано патерн Transactional Outbox із чергою RabbitMQ та патерн Circuit Breaker із персистованим станом.uk
dc.description.abstractEN : The work is presented on 63 pages of printed text, 41 figures,4 tables, 10 references, 1 supplement. The object of the study is the process of developing a webhook management system with autonomous deployment capability. The aim of the study is to develop an application for a webhook management system with autonomous deployment capability. The methods of research include object-oriented programming methods, REST API design and interface versioning methods, asynchronous message processing methods using a message broker, and reliable delivery assurance methods based on retry mechanisms and exponential backoff. The thesis presents an analysis of existing webhook management solutions, including cloud-based services (Svix, Hookdeck, Convoy) and self-hosted alternatives. It was found that most commercial platforms restrict infrastructure control and impose delivery volume limitations. Based on the analysis, a system with a modular monolith architecture divided into four isolated bounded contexts with independent PostgreSQL databases was designed and implemented. To guarantee delivery, the Transactional Outbox pattern with a RabbitMQ queue and the Circuit Breaker pattern with persisted state were implemented.uk
dc.identifier.urihttps://dspace.znu.edu.ua/items/2999a1f3-037e-433c-b925-b234048ad20b
dc.language.isoukuk
dc.subjectасинхронна обробкаuk
dc.subjectвебхукиuk
dc.subjectдоставка повідомленьuk
dc.subjectконтейнеризаціяuk
dc.subjectповторні спроби доставкиuk
dc.subjectсамостійне розгортанняuk
dc.subjectспостережуваність системиuk
dc.subjectчерги повідомленьuk
dc.subjectHMAC-підписuk
dc.subjectаsynchronous processinguk
dc.subjectcontainerizationuk
dc.subjectdelivery retry mechanismuk
dc.subjectHMAC signinguk
dc.subjectmessage deliveryuk
dc.subjectmessage queuesuk
dc.subjectREST APIuk
dc.subjectself-hosted deploymentuk
dc.subjectsystem observabilityuk
dc.subjectwebhooksuk
dc.titleРозробка системи управління вебхуками з можливістю автономного розгортанняuk
dc.typeРобота бакалавраuk

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Грачов.pdf
Size:
3.58 MB
Format:
Adobe Portable Document Format
Description:
Робота бакалавра

License bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
license.txt
Size:
3.81 KB
Format:
Item-specific license agreed upon to submission
Description: