View Code? Open in Web Editor
NEW
Outbox and Inbox Pattern in .NET (scalability & fault tolerance). Ensures eventual consistency between services. (microservices, event-driven architecture, message streaming)
Home Page: https://transactionalbox.com
License: MIT License
transactionalbox's Issues
DistributedLock should be used with using, because when will be exception Dispose method will be executed and lock will be released.
Create a single logic that can be reused by background services
Create new tasks based on problems encountered while creating the prototype
maximum expected bytes of transport message => X
transport message bytes limit (retrun Transport package) => Y
Round_up(X/Y) = number of transport messages
One outbox with messages for multiple transports
App service, which will contain the name of the service
Wrap Dns.GetHostName() to app service
Place where can be used
TransactionalBox.OutboxWorker.Kafka
Create wrapper for Microsoft ILogger.
OutobxWorker should get the package of messages and add them to the transport.
It should then mark as processed the messages that have been added to the transport.