我想确保我的消息在各分区服务总线均匀分布路由算法。我们目前有一个sessionId被设置为id.ToString()的消息,其中Id是一个整数。但是,我想知道,如果这足以足以分发消息。据我所知,没有办法确定如何分配会议,所以没有办法来测试这个。什么是分区的消息在蔚蓝的服务总线
我可以在此示例中看到,会话ID被前缀为“会话” https://github.com/Azure/azure-service-bus/tree/master/samples/DotNet/Microsoft.Azure.ServiceBus/BasicSessionSendReceiveUsingQueueClient
这是不是巧合我的问题?或者,这是我应该做的事情如果我的sessionId将从一个整数派生?这里的问题是,如果服务总线使用范围分区方案,诸如服务织物,然后是彼此接近将被放置在同一分区的整数值。
编辑:具体而言,这个问题是如何确保邮件在服务总线内部的分区均匀分布(不负载平衡的会话competiting消费者) - 我已经更新的问题,以更好地反映这一点。
谢谢,
样本中使用的前缀可以是除“会话”以外的任何值。会话ID用于标识会话。在分配负载方面,最大并发会话数量乘以处理节点数量将会占用会话数量。其余的是我猜想的竞争消费者。 –
谢谢@SeanFeldman - 我的问题是专门针对跨服务总线上分区的消息分布..不会分配给消费者。我认为这可以更一般地应用于PartitionKey的使用。 –