消息队列

1.传统的调用,如果一个模块调用多个模块会使得系统之间的依赖越来越复杂


2.使用MQ,使得调用者模块和被调用者之间会解耦,消除复杂的调用,调用者只需要把消息发送到消息队列,其他系统如果有需要的就去队列里面面去取


3.如果不使用异步的话,会使得处理的速度会非常慢,只能一个系统模块等另一个模块处理完,自己才能再处理



4.使用异步,使用异步,只需要把消息放入队列,不需要等待消费模块,就直接返回,会使得处理速度非常快


5.大量数据来的时候会使得挤压大量的消息,使得MySQL需要抗巨大的压力,这个时候就有可能造成书数据库运行缓慢,甚至出现崩溃


6.使用消息队列进行异步削峰,这样使得MySQL承受较小的压力,并且使得消息可以来的及处理


7.引入MQ可能会出现的问题


8.kafka、activemq、rabbitmq、rocketmq都有什么优点和缺点啊?




综上所述,各种对比之后,我个人倾向于是:

一般的业务系统要引入MQ,最早大家都用ActiveMQ,但是现在确实大家用的不多了,没经过大规模吞吐量场景的验证,社区也不是很活跃,所以大家还是算了吧,我个人不推荐用这个了;

后来大家开始用RabbitMQ,但是确实erlang语言阻止了大量的java工程师去深入研究和掌控他,对公司而言,几乎处于不可控的状态,但是确实人是开源的,比较稳定的支持,活跃度也高;

不过现在确实越来越多的公司,会去用RocketMQ,确实很不错,但是我提醒一下自己想好社区万一突然黄掉的风险,对自己公司技术实力有绝对自信的,我推荐用RocketMQ,否则回去老老实实用RabbitMQ吧,人是活跃开源社区,绝对不会黄

所以中小型公司,技术实力较为一般,技术挑战不是特别高,用RabbitMQ是不错的选择;大型公司,基础架构研发实力较强,用RocketMQ是很好的选择

如果是大数据领域的实时计算、日志采集等场景,用Kafka是业内标准的,绝对没问题,社区活跃度很高,绝对不会黄,何况几乎是全世界这个领域的事实性规范

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 消息队列设计精要 消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终...
    meng_philip123阅读 5,400评论 1 25
  • 消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能...
    Sophie12138阅读 4,037评论 0 7
  • “ 消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列...
    落羽成霜丶阅读 9,651评论 1 41
  • 上节谈到赵匡胤被妹妹拿着擀面杖赶出家门后去了死对头韩通家里。 韩通的儿子也一直建议除掉他,而韩通一直没有除掉他,有...
    小熙s阅读 1,774评论 0 1
  • 一晨把房间整理好,床铺好,小小的房间也有了家的样子,以后,这片小天地就是她的栖身之所了。整个下午,董妍都...
    yingxia阅读 1,751评论 0 4

友情链接更多精彩内容