{"repo":"Zehelein/pg-transactional-outbox","free":true,"listed":false,"github":"https://github.com/Zehelein/pg-transactional-outbox","clone":"git clone https://github.com/Zehelein/pg-transactional-outbox.git","description":"A library to implement the transactional outbox pattern for PostgreSQL, a message broker or event stream, and TypeScript.","language":"TypeScript","stars":36,"topics":["nodejs","transactional-inbox","transactional-outbox","typescript","microservices","postgres","postgresql","inbox","inbox-pattern","logical-replication"],"license":"MIT","category":"databases-storage","readme_excerpt":"pg-transactional-outbox The transactional outbox and transactional inbox patterns are used to ensure exactly-once processing of messages in event-driven architectures, where the loss or duplication of a message could have significant consequences. This library guarantees that a message is sent at least once, but processed exactly once, and is useful in scenarios where the reliability and atomicity of message processing is important. This pattern is an alternative to distributed transactions using a two-phase commit, which can lead to bottlenecks with a large number of microservices communicating with each other. Message delivery via the PostgreSQL-based transactional outbox pattern (generated with Midjourney) Library This pg-transactional-outbox library implements the mentioned transactional outbox and transactional inbox pattern for PostgreSQL. It stores the outgoing messages reliably as part of your business logic DB transactions. It stores incoming messages exactly once and lets your handlers process them exactly once. The ./lib folder contains the pg-transactional-outbox library and unit tests. You can find an introduction to the transactional outbox and inbox pattern in the README.md. This should be your starting point. Integration Tests You can find the integration tests in the ./ tests folder. This folder includes outbox listener and inbox listener integration tests that use a PostgreSQL instance for the actual tests. Check the README.md file for further details. Examp","default_branch":null,"files":null,"tree":[],"storefront":"/r/Zehelein","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/Zehelein/pg-transactional-outbox/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}