zoukankan      html  css  js  c++  java
  • 2:消息中间件种类

    消息中间件种类。
    ActiveMQ:并发高的情况下不优秀,早期比较流行。
    Kafka:只关注于高并发,性能好,但是对数据重复、丢失、错误验证要求不高。
    RocketMQ:纯Java开发,借鉴于Kafka,阿里开源,维护复杂。
    RabbitMQ:基于Frlang语言开发,可靠、安全、稳定(新能没有Kafuka好但是也不差)。
    
    为什么选择RabbitMQ?
        跨语言。数据可靠性高。
        SpringAMQP整合了RabbitMQ,有丰富的API。
        高性能。
    为啥高性能?
         因为使用了Erlang语言,而Erlang语言是广泛用于交换机开发的语言。Erlang语言有原生Socket一样的延迟底。
    什么是AMQP协议?
         AMQP(高级消息队列协议):为面向中间件设计的应用层协议。
    
        AMQP概念:
            Server:又称Broker,接受客户端连接。
            Connection:应用程序和Broker的连接。
            Channel:网络信道,消息传递的通道,客户端可以建立多个Channel。
            Message:传递的数据。由Properties和Body组成。通过设置Properties可以设置消息优先级、延迟投递等特性。
            Virtual host:虚拟主机。用于在逻辑层面上隔离(类似于包名)。一个虚拟主机里面可以有多个交换机和消息队列,但是不能有相同的。
            Exchange:交换机,接收消息,绑定消息队列。
            Bindin:交换机和消息对类需要绑定,绑定中包含一个 routing key
            Routing key :路由规则,可以用来确定一个消息的传递路由。
            Queue:消息队列。消费者监听并消费。      
    RabbitMQ消息是如何流转的?    


      

  • 相关阅读:
    算法-排序(二)-快速排序
    算法- 排序(一)
    python(十四)新式类和旧式类
    Python(十三)python的函数重载
    django(二)中间件与面向切面编程
    MySQL(二)MySQL的启动或链接失败
    django(一)验证码
    python(七) Python中单下划线和双下划线
    Python(十) Python 中的 *args 和 **kwargs
    python(六)列表推导式、字典推导式、集合推导式
  • 原文地址:https://www.cnblogs.com/Xmingzi/p/12601454.html
Copyright © 2011-2022 走看看