消息中间件服务除了MQ,你还能选择什么?

Posted 技术修养之路

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了消息中间件服务除了MQ,你还能选择什么?相关的知识,希望对你有一定的参考价值。

引言:

    下订单后,需要发短信,邮件通知,这些通知类事件,服务自身内的逻辑解耦,如何做?

消息中间件服务除了MQ,你还能选择什么?

    是不是很自然想到了,MQ消息中间件,是的它很强大,这里不做介绍。这里我想要安利的是一个guava的eventbus实现sever自身内的pub/sub,给中小型的项目开发者一个新选择。

    eventbus是guava的事件处理机制,是设计模式中的观察者模式(生产/消费者编程模型)的优雅实现。对于事件监听和发布订阅模式(observer模式),eventbus是一个非常优雅和简单解决方案,我们不用创建复杂的类和接口层次结构。


eventbus相比MQ中间件优势:

    很轻量级,仅仅需要引入一个外部jar包,编写pub/sub实现类,即可实现服务自身内的解耦;不需要搭建mq中间件服务;eventbus是server自身内的订阅,对于可用性和扩展性, 可以通过加机器来解决的, 举个例子,现在是1台server处理下单接口,然后下单会发eventbus消息自己消费, 通过加机器来分担下单接口的压力,自然就缓解了eventbus这一步的数量级。


劣势:

    消息不可靠,不能分布式消费,仅仅是服务自己订阅自己进行消费


依赖:

<dependency>

<groupId>com.google.guava</groupId>

<artifactId>guava</artifactId>

<version>20.0</version>

</dependency>


PUB:

消息中间件服务除了MQ,你还能选择什么?

SUB:

END。很轻松的把非必须的耗时操作,解耦,岂不是很方便


以上是关于消息中间件服务除了MQ,你还能选择什么?的主要内容,如果未能解决你的问题,请参考以下文章

MQ消息中间件,面试能问写什么?

消息中间件MQ详解

深入理解消息中间件技术之RabbitMQ服务

消息中间件MQ知识概括

深入理解消息中间件技术之RabbitMQ服务

MQ 消息中间件梳理