目录 一、客户端代码实现 RabbitMQ 的客户端设定:一个客户端可以有多个模块,每个模块都可以和 broker server 之间建立 “逻辑上的连接” (channel),这几个模块的channel 彼此之间是互相不影响的,同时这几个 channel 又复用的同一个 TCP 连接,省去了频繁 建立/销毁 TCP 连接的开销(三次握手、四次挥手......). 这里,我们也按照这样的逻辑实现 消息队列 的客户端,主要涉及到以下三个核心类: ConnectionFactory:连接工厂,这个类持有服务器的地址,主要功能就是创建 Connection 对象. Connection:表示一个 TCP连接,持有 Socket 对象,用来 写入请求/读取响应,管理多个Channel 对象. Channel:表示一个逻辑上的连接,需要提供一系列的方法,去和服务器提供的核心 API 对应(客户端提供的这些方法的内部,就是写入了一个特定的请求,然后等待服务器响应). 1)实现 ConnectionFactory 主要用来创建 Connection 对象.