我有一个使用 weave 作为 CNI 的 Kubernetes 1.18 集群。我有一个基于 ZMQ 的发布/订阅应用程序,我经常(并非总是)看到订阅者需要 2 分钟才能从发布者接收消息。这似乎是我的 Kubernetes 环境的某种套接字超时唯一性。
这是我琐碎的 ZMQ 应用程序示例
#!/bin/env python2
import zmq, sys, time, argparse, logging, datetime, threading
from zmq.utils.monitor import recv_monitor_message
FORMAT = '%(asctime)-15s %(message)s'
logging.basicConfig(format=FORMAT)
if zmq.zmq_version_info() < (4, 0):
raise RuntimeError("monitoring in libzmq version < 4.0 is not supported")
logging.error("libzmq-%s" % zmq.zmq_version())
if zmq.zmq_version_info() < (4, 0):
raise RuntimeError("monitoring in libzmq version < 4.0 is not supported")
EVENT_MAP = {}
logging.error("Event names:")
for name in dir(zmq):
if name.startswith('EVENT_'): …Run Code Online (Sandbox Code Playgroud)