C# 为什么我在使用PUBSUB订阅时不能PING?
我在Azure上使用PUBSUB时遇到问题 Azure防火墙将关闭任何空闲时间长度的连接。时间的长短有很多争论,但人们认为大约是5-15分钟 我使用Redis作为消息队列。为此,ServiceStack.Redis库提供一个RedisMqServer,该服务器订阅以下通道:C# 为什么我在使用PUBSUB订阅时不能PING?,c#,azure,redis,servicestack.redis,C#,Azure,Redis,servicestack.redis,我在Azure上使用PUBSUB时遇到问题 Azure防火墙将关闭任何空闲时间长度的连接。时间的长短有很多争论,但人们认为大约是5-15分钟 我使用Redis作为消息队列。为此,ServiceStack.Redis库提供一个RedisMqServer,该服务器订阅以下通道: mq:topic:in 在后台线程上,它阻止从套接字接收数据,等待从Redis接收消息。问题是: 如果等待Redis消息的套接字空闲任意时间长度,Azure防火墙 以静默方式关闭连接。我的应用程序不知道它是什么 现在正在等
mq:topic:in
在后台线程上,它阻止从套接字接收数据,等待从Redis接收消息。问题是:
如果等待Redis消息的套接字空闲任意时间长度,Azure防火墙
以静默方式关闭连接。我的应用程序不知道它是什么
现在正在等待一个关闭的连接(就其而言
打开)。背景线程被有效地挂起
我曾想过实现某种保持活动状态的方法,即等待消息一分钟,但如果没有收到消息,则通过两个目标PING服务器:
我已经阅读了以下文章:它讨论了Azure负载平衡器如何在4分钟后断开连接。但是,即使我可以保持一个连接处于活动状态,我仍然需要实现第二个目标,即如果由于另一个原因(redis节点关闭)导致连接中断,则重新启动订阅。当客户端订阅时,该连接基本上被阻止发送命令,因为它用于侦听传入消息。一种可能的解决方法是在频道上定期发布keepalive消息。当客户端订阅时,该连接基本上被阻止发送命令,因为它用于侦听传入消息。一种可能的解决方法是在频道上定期发布keepalive消息。当客户端订阅时,该连接基本上被阻止发送命令,因为它用于侦听传入消息。一种可能的解决方法是在频道上定期发布keepalive消息。当客户端订阅时,该连接基本上被阻止发送命令,因为它用于侦听传入消息。一种可能的解决方法是在频道上发布定期的keepalive消息。我刚刚在Redis的
不稳定的
分支中实现了Pub/Sub模式下的PING支持:
这将在接下来的几天内后端口到Redis 2.8 stable中。我刚刚在Redis的
Stability
分支中实现了Pub/Sub模式下的PING支持
这将在接下来的几天内后端口到Redis 2.8 stable中。我刚刚在Redis的
Stability
分支中实现了Pub/Sub模式下的PING支持
这将在接下来的几天内后端口到Redis 2.8 stable中。我刚刚在Redis的
Stability
分支中实现了Pub/Sub模式下的PING支持
这将在未来几天内后端口到Redis 2.8 stable中。这是一个问题,因为我们在Azure中托管Redis时处理keepAlive数据包。我们很快就会把它修好
此外,如上所述,您可以通过ping手动保持连接的活动状态。对于sub/pub连接,您现在可以使用的一种黑客方法是调用随机频道的unsubscribe。(这就是StackExchange.Redis所做的)这是一个问题,因为我们在Azure中托管Redis时处理keepAlive数据包。我们很快就会把它修好
此外,如上所述,您可以通过ping手动保持连接的活动状态。对于sub/pub连接,您现在可以使用的一种黑客方法是调用随机频道的unsubscribe。(这就是StackExchange.Redis所做的)这是一个问题,因为我们在Azure中托管Redis时处理keepAlive数据包。我们很快就会把它修好
此外,如上所述,您可以通过ping手动保持连接的活动状态。对于sub/pub连接,您现在可以使用的一种黑客方法是调用随机频道的unsubscribe。(这就是StackExchange.Redis所做的)这是一个问题,因为我们在Azure中托管Redis时处理keepAlive数据包。我们很快就会把它修好
此外,如上所述,您可以通过ping手动保持连接的活动状态。对于sub/pub连接,您现在可以使用的一种黑客方法是调用随机频道的unsubscribe。(这就是StackExchange.Redis所做的)多么巧合-安特里斯今天修补了这个::)多么巧合-安特里斯今天修补了这个::)多么巧合-安特里斯今天修补了这个::)多么巧合-安特里斯今天修补了这个::)太棒了!我将在PUBSUB期间将此功能添加到PING Redis客户端,作为ServiceStack.Redis中的保持活动功能。我正在使用Azure托管的Redis作为我的服务器,所以我无法控制它们的版本,但我会密切关注并尽快使用它。非常感谢!棒 极 了我将在PUBSUB期间将此功能添加到PING Redis客户端,作为ServiceStack.Redis中的保持活动功能。我正在使用Azure托管的Redis作为我的服务器,所以我无法控制它们的版本,但我会密切关注并尽快使用它。非常感谢!棒 极 了我将在PUBSUB期间将此功能添加到PING Redis客户端,作为ServiceStack.Redis中的保持活动功能。我正在使用Azure托管的Redis作为我的服务器,所以我无法控制它们的版本,但我会密切关注并尽快使用它。非常感谢!棒 极 了我将在PUBSUB期间将此功能添加到PING Redis客户端,作为ServiceStack.Redis中的保持活动功能。我使用Azure托管的Redis作为我的服务器,因此我无法控制