{"repo":"rafaelpadovezi/Ziggurat","free":true,"listed":false,"github":"https://github.com/rafaelpadovezi/Ziggurat","clone":"git clone https://github.com/rafaelpadovezi/Ziggurat.git","description":"A .NET library to create message consumers.","language":"C#","stars":28,"topics":["dotnet","messaging","csharp"],"license":"MIT","category":"chat-messaging","readme_excerpt":"Ziggurat A .NET library to create message consumers. Ziggurat implements functionalities to help solve common problems when dealing with messages: - Idempotency - Middleware: allows to create middlewares to consumers to handle logging, validation and whatever is needed. How it works The library uses the decorator pattern to execute a middleware pipeline when calling the consumer services. This way is possible to extend the service code adding new functionality. The Idempotency middleware wraps the service enforcing that the message in only being processed once by tracking the message processing on the database. Also, it's possible to add custom middlewares to the pipeline. Support Ziggurat has support to: - Storage: - MS SQL Server - MongoDB - Messaging Library - CAP Install --------------------- -------------------------------------------------------------------------------------------------------------- Ziggurat Ziggurat.CapAdapter Ziggurat.SqlServer Ziggurat.MongoDB Usage Ziggurat works with middlewares. Registering middlewares adds functionality to the message consumer. Important to note that multiple middlewares can be registered to the same consumer. They are executed following the order of the registration. SQL Server with Entity Framework Ziggurat integrates with the application Entity Framework Core to track the processed messages and ensures that each message is processed only once. Also, the EF Core migrations are used to create the message tracking table with the ","default_branch":null,"files":null,"tree":[],"storefront":"/r/rafaelpadovezi","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/rafaelpadovezi/Ziggurat/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."}