Multiple endpoint hosting

Throughout the history of NServiceBus, there has been a fairly standard practice:
1 endpoint == 1 queue == 1 process
The endpoint owned everything within the process boundary and used assembly scanning to find and wire up all the things that make up that endpoint. While you could use “satellites”, you really couldn’t put more than one full endpoint inside a process boundary.
But… what if it didn’t have to be that way?
Read more…because there are a low number of endpoints that happen to be scaled out to multiple tenants, using the same code but deployed separately due to different configuration and scalability needs.
…and dare I say, more fun?
This is because source generators do not perform well when driven off implemented interfaces, so Microsoft recommends you Never Do That®. Scans using an attribute are the fastest and most optimized code path, which is important because a source generator can technically run every time you press a key in your IDE.
Or even most?








