在多租户系统中按租户控制队列并发
Control queue concurrency by tenant in multi-tenancy system
我有一个多租户系统,需要保证租户对排队消息的 FIFO(先进先出)处理,即每个租户都会得到自己的 MaxConcurrentCalls = 1
。
在 Azure 中完成,技术未固定。
我知道这可以通过为每个租户创建一个单独的 WebJob 来实现,但这会限制可扩展性。
还有其他方法可以实现这种行为吗?
既然你提到了服务总线,我建议
- 在启用会话的情况下使用服务总线队列或主题
- 根据租户 ID 分配会话标识符
通过这种方式,您应该能够按租户一个接一个地按顺序处理消息,但多个租户可以并行处理。
我有一个多租户系统,需要保证租户对排队消息的 FIFO(先进先出)处理,即每个租户都会得到自己的 MaxConcurrentCalls = 1
。
在 Azure 中完成,技术未固定。
我知道这可以通过为每个租户创建一个单独的 WebJob 来实现,但这会限制可扩展性。
还有其他方法可以实现这种行为吗?
既然你提到了服务总线,我建议
- 在启用会话的情况下使用服务总线队列或主题
- 根据租户 ID 分配会话标识符
通过这种方式,您应该能够按租户一个接一个地按顺序处理消息,但多个租户可以并行处理。