• 消息中间件


    1:什么叫消息中间件(MQ)

      没有具体的定义。消息中间件属于分布式系统中的一个工具,类似于redis、mongoDB等第三方的产品。关注 消息的发送和接受,利用高效可靠异步消息传递机制,对分布式系统中的各个子系统进行集成。

    2:为什么使用消息中间价

      解耦:之前的项目生成一个war包,把war包拆分成不同的系统。利用消息中间件进行解耦。(这种是松耦合)

      异步处理:我们只需要把消息放入到mq当中,不用去管后面的操作,这样就可以实现异步的机制。

      缓冲:当高并发数据量很多的时候,mq可能处理不了,这时候就可以先把数据保存起来。然后一点点处理掉。

      伸缩性:当高并发的时候,我们的接受方或者消费方处理起来比较慢,可以添加集群来保证我们系统正常运行。当没有高并发的时候,也可以删除集群中的应用。

      扩展性:当添加一个子系统的时候,只需要订阅这个mq就无缝的连接,当不需要这个子系统的时候,直接删除就行。

    3:应用场景

     解耦:订单接口调用物流接口,这时候两个接口是耦合在一起的,可以将这两个接口进行拆分,通过消息中间件进行关联。

     异步:用户注册,当用户注册成功以后,会给用户发注册成功的短信、邮件。注册接口只关注注册,发短信业务是次要的。这样子也可以缩短接口的相应时间。

     缓冲:对日志的操作,都是数据量很大的,这时候可以保存到mq中,进行缓冲。

     消息通讯也可以使用mq进行操作。

     流量削峰:例如秒杀或者团购,在某一时间流量很高,平常很稳定。把数据放入到mq中,然后缓慢的处理,在保存结果。

    4:常用mq的比较

     

    mq和RPC的区别

      同步性:RPC是同步的,mq是异步的。

      依赖性:RPC是强依赖的,mq是没有依赖的(只是松耦合)

      

  • 相关阅读:
    Ansible 日常使用技巧
    Linux下科学计数法(e)转化为数字的方法 [shell中几种数字计算说明]
    业务日志清理脚本
    Kubernetes容器集群
    Kubernetes 之Pod学习
    数据结构之数组
    Java Class 文件中Method的存储
    理解Flink Transformation
    理解Java BlockingQueue
    理解Java FutureTask
  • 原文地址:https://www.cnblogs.com/orange-time/p/11568633.html
Copyright © 2020-2023  润新知