我和Azure ServiceBus,标准层一起工作。
我试图弄清楚几个星期以来发生了什么(好像是从公共汽车流量增加的时候开始的,可能是每秒10到15条信息)。
我有自动创建订阅使用
subscriptionOpts.AutoDeleteOnIdle = TimeSpan.FromHours(3);从持续数周开始(当我们获得流量增量时),有时我们的订阅客户端停止接收消息,3小时后被删除。
var messageOptions = new MessageHandlerOptions(args =>
{
Emaillog.Warn(args.Exception, $"Client ExceptionReceived: {args.Exception}");
return Task.CompletedTask;
}) { AutoComplete = true };
_subscriptionClient.RegisterMessageHandler(async (message, token) => await OnMessageReceived(message, $"{_subscriptionClient.SubscriptionName}", token), messageOptions);订阅客户端是否有可能断开连接而不再连接?我有4-5个客户端进程连接到这个主题,每个客户端都有自己的订阅。当我发现其中一个订阅被删除时,有时它们都被删除了,有时只有一部分被删除了。
是虫子吗?我在subscriptionClient上执行的唯一方法调用是RegisterMessageHandler。我不手动处理其他任何事情..。
提前谢谢你
发布于 2018-08-03 09:40:02
当订阅中没有指定时间跨度的消息处理时,属性AutoDeleteOnIdle用于删除订阅。
正如您提到的,消息流增加到每秒15条消息,因此不可能将订阅保留为空(没有out消息流)。因此,没有理由删除订阅。订阅的空闲程度取决于传入消息和传出消息。
由于消息通信量很大,处理消息的下游应用程序可能会脱机,留下未处理的消息,最终当消息流减少时,没有接收方处理消息,使订阅空闲3小时并删除。
https://stackoverflow.com/questions/51669267
复制相似问题