美文网首页
RabbitMQ(一)--关于消息通信

RabbitMQ(一)--关于消息通信

作者: nzdnllm | 来源:发表于2019-03-11 16:03 被阅读0次

    生产者和消费者

    1.生产者:创建消息,发布消息到代理服务器(RabbitMQ)
    (1)消息:有效荷载和标签
    (2)有效荷载:消息的内容
    (3)标签:用来描述消息(交换器的名称或者可选主题的标记),然后把消息交由RabbitMQ,由RabbitMQ进行后续处理
    2.消费者:连接到代理服务器(RabbitMQ),并订阅到队列(queue)上,接收代理服务器发布的消息并读取
    (1)接收到的消息只包括有效荷载,即消息内容

    应用程序和RabbitMQ代理之间的连接

    1.基本原理:首先创建一条TCP连接,TCP连接打开后(即通过认证),应用程序创建一条AMQP信道。
    2.信道:是建立在真实的TCP连接内的虚拟连接,AMQP命令是通过信道发送出去
    3.应用程序和RabbitMQ代理之间的连接用信道而不直接用TCP连接的原因
    (1)一个信道处理一个线程,一个TCP连接可以承载多个信道,即多个线程可以使用同一个TCP连接,减少资源消耗,避免性能瓶颈
    (2)一个TCP的创建和销毁对资源的消耗会很大,创建需要三次握手,销毁需要四次挥手。
    4.TCP协议的三次握手和四次分手
    (1)建立连接的三次握手:
    -第一次握手:客户端发送给服务端,请求连接
    -第二次握手:服务端接收到客户端发送的请求连接的消息,回复给客户端请求连接
    -第三次握手:上述两次握手本质上已经建立连接,但是此时客户端还会发送给服务端一个消息,确认连接,即表示连接成功
    (2)销毁连接的四次挥手:
    -第一次挥手:客户端发送给服务端,断开连接
    -第二次挥手:服务端接收到请求断开连接的请求,发送确认消息
    -第三次挥手:服务端发送给客户端,断开连接
    -第四次挥手:客户端接收到服务端的消息,确认断开连接
    注意:销毁连接需要四次挥手是因为TCP连接是双向连接,断开也需要双向断开和确认

    相关文章

      网友评论

          本文标题:RabbitMQ(一)--关于消息通信

          本文链接:https://www.haomeiwen.com/subject/kolvpqtx.html