{"repo":"Trendyol/PollingOutboxPublisher","free":true,"listed":false,"github":"https://github.com/Trendyol/PollingOutboxPublisher","clone":"git clone https://github.com/Trendyol/PollingOutboxPublisher.git","description":"Outbox implementation for Kafka with Couchbase, MSSQL and PostgreSQL.","language":"C#","stars":30,"topics":["couchbase","dotnet","kafka-producer","mssql","outbox-pattern","polling","postgresql"],"license":"MIT","category":"databases-storage","readme_excerpt":"PollingOutboxPublisher Contents - Description - Getting Started - Prerequisites - Installation - Usage - Algorithm - Multiple Instances - Configuration - Example - License - Contributing - Contributors Description - Polling Outbox Publisher is an outbox implementation for distributed systems. It uses an outbox algorithm and async transactions to ensure that no events are lost during processing. - This application uses a straightforward approach where it periodically checks for new messages and publishes them in groups to the Kafka cluster. It deliberately avoids more complex data transfer technologies like Debezium Change Data Capture (CDC) or Couchbase Data Change Protocol (DCP). While those options might offer better performance and efficiency, this application prioritizes simplicity, ease of use, and maintaining independence from other systems. - It also supports multiple instances to increase the reliability of the system. Getting Started Prerequisites - .NET 8.0 or higher - SQL Server 2016 or higher - Redis 5.0 or higher - Kafka 2.5 or higher Installation 1. Clone the repository 2. Open the project in a IDE of your choice. 3. Add the config file ( /src/config/config.json ) and secret file ( /src/config/secret.json ). 5. Set as 0 the first row in the OutboxOffset . 4. Run the project. 6. The project will start the publish messages in the OutboxEvents data store. 7. That's it! You're ready to go! Usage Datastores - The application can be use Couchbase , PostgreSQL or MSSQL","default_branch":null,"files":null,"tree":[],"storefront":"/r/Trendyol","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/Trendyol/PollingOutboxPublisher/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."}