之前使用的 rabbitmq3.x 的,一切都是比较正常
但是升级到 rabbitmq4.x 之后,我是用的 nameko+eventlet+kombu+amqp 就经常会断联(有自动重连机制)
这个比较烦人
出现的断连日志如下:
第一种
Error connecting to broker at amqp://ponponon:********@192.168.38.223:5672// ([Errno 104] ECONNRESET).
Retrying in 2.0 seconds.
Error connecting to broker at amqp://ponponon:********@192.168.38.223:5672// ([Errno 104] ECONNRESET).
Retrying in 2.0 seconds.
Error connecting to broker at amqp://ponponon:********@192.168.38.223:5672// ([Errno 104] ECONNRESET).
Retrying in 2.0 seconds.
Error connecting to broker at amqp://ponponon:********@192.168.38.223:5672// ([Errno 104] ECONNRESET).
第二种
Connection to broker lost, trying to re-establish connection...
Traceback (most recent call last):
File "/home/pon/.local/share/virtualenvs/parser-szge04QH/lib/python3.10/site-packages/kombu/mixins.py", line 174, in run
for _ in self.consume(limit=None, **kwargs):
File "/home/pon/.local/share/virtualenvs/parser-szge04QH/lib/python3.10/site-packages/kombu/mixins.py", line 196, in consume
conn.drain_events(timeout=safety_interval)
File "/home/pon/.local/share/virtualenvs/parser-szge04QH/lib/python3.10/site-packages/kombu/connection.py", line 341, in drain_events
return self.transport.drain_events(self.connection, **kwargs)
File "/home/pon/.local/share/virtualenvs/parser-szge04QH/lib/python3.10/site-packages/kombu/transport/pyamqp.py", line 171, in drain_events
return connection.drain_events(**kwargs)
File "/home/pon/.local/share/virtualenvs/parser-szge04QH/lib/python3.10/site-packages/amqp/connection.py", line 526, in drain_events
while not self.blocking_read(timeout):
File "/home/pon/.local/share/virtualenvs/parser-szge04QH/lib/python3.10/site-packages/amqp/connection.py", line 531, in blocking_read
frame = self.transport.read_frame()
File "/home/pon/.local/share/virtualenvs/parser-szge04QH/lib/python3.10/site-packages/amqp/transport.py", line 294, in read_frame
frame_header = read(7, True)
File "/home/pon/.local/share/virtualenvs/parser-szge04QH/lib/python3.10/site-packages/amqp/transport.py", line 637, in _read
raise OSError('Server unexpectedly closed connection')
OSError: Server unexpectedly closed connection
我启动 rabbitmq 用的 docker compose
services:
rabbitmq3-management:
restart: always
container_name: rabbitmq3-management
image: rabbitmq:4.0.5-management
hostname: rabbitmq3-management-standalone
logging:
driver: json-file
options:
max-size: "100m"
max-file: "1"
environment:
- RABBITMQ_DEFAULT_USER=ponponon
- RABBITMQ_DEFAULT_PASS=ponponon
volumes:
- "./volumes:/var/lib/rabbitmq"
- "./rabbitmq.conf:/etc/rabbitmq/rabbitmq.conf"
ports:
- "5672:5672"
- "15672:15672"
- "15692:15692"
有人和我一样升级 rabbitmq 版本遇到频繁断联的问题吗?
不知道是不是全新的 4 改了什么特性
心跳什么的都是设置的了