分布式消息服务RABBITMQ版-提高RabbitMQ性能:连接和通道
连接和通道
每个连接使用大约100 KB的内存(如果使用TLS会更多),成千上万的连接会导致RabbitMQ负载很高,极端情况下,会导致内存溢出。AMQP协议引入了通道的概念,一个连接中可以有多个通道。连接是长期存在的,AMQP连接的握手过程比较复杂,至少需要7个TCP数据包(如果使用TLS会更多)。相对连接来说,打开和关闭通道会更简单,但是建议通道也设置为长期存在的。例如,应该为每个生产者线程重用相同的通道,不要在每次生产时都打开通道。最佳实践是重用连接并将线程之间的连接与通道多路复用。
推荐使用Spring AMQP线程池:ConnectionFactory是Spring AMQP定义的连接工厂,负责创建连接。
- 分布式消息中间件的作用_分布式消息中间件_分布式消息-华为云
- RabbitMQ镜像下载
- 分布式消息服务有哪些_分布式消息服务哪个好_分布式消息-华为云
- 分布式消息队列是什么_分布式消息队列好处_消息队列-华为云
- 分布式消息服务优势_分布式消息服务_消息队列-华为云
- 分布式消息中间件实战_分布式消息实战_分布式消息-华为云
- Kafka与其他消息队列的对比_什么是Kafka_分布式消息系统-华为云
- 为什么要使用RabbitMQ_RabbitMQ如何实现高可用性_分布式消息-华为云
- RabbitMQ如何保证消息的可靠性_分布式消息系统_分布式消息RabbitMQ-华为云
- 分布式缓存如何提高系统性能_中间件_系统性能问题-华为云