Session
Multi-Tenancy in Event Driven Architectures
In the course of building systems, you’re frequently going to have a single logical system that needs to serve different sets of users or clients. As a consultant and as the technical leader of the "Critter Stack" tools for Event Driven Architecture in the .NET ecosystem, I've seen a huge variety of approaches and requirements for multi-tenanted systems.
In this talk I'll compare and contrast several different approaches to multi-tenanted storage and messaging that we've had to accommodate for our community. We'll start with storage requirements in both a shared database and a database per logical tenant of course, but there's a lot more to that.
How do you detect the active tenant? How do you manage multi-tenancy through an asynchronous messaging system with minimal coding ceremony? Transactional outbox support across multiple databases? Low friction database migrations? What if you even need to isolate different tenants to completely different message brokers in the same system? And what if you need to support dynamically adding new tenants without any downtime?
These are all scenarios we've had to support throughout the "Critter Stack" and in this talk I'll share all the lessons we've had to learn to get there.
The "Critter Stack" is Marten (https://martendb.io) and Wolverine (https://wolverinefx.net). Marten is by far and away the most capable and most used Event Sourcing toolset in the .NET ecosystem. Wolverine is a little newer asynchronous messaging toolset, but has by far and away the strongest support for multi-tenancy in .NET because our users are apparently masochists.
Jeremy Miller
Owner and CEO of JasperFx Software
Austin, Texas, United States
Links
Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.
Jump to top