每日一博 | 架构设计之:本地直连MQ vs 远程服务连接MQ
前言 消息队列千千万万,诸如rocketmq,kafka,activemq,rabbitmq等,互联网上也有很多文章分析这些mq的源码,然而实际上对于一般的开发人员来说,其实更关注的并非是这些mq的内部实现,而是怎么去封装他们,怎么去调用他们的api,对于单单去收发一条消息而言,实际上mq直接的差异并没有想象当中那么大,那么今天,就来看看从,性能(削峰),查问题,分布式事务,业务封装难易度,链路追踪,监控,等多个角度来看看两种主流的对mq的封装,在各个功能上,实现的逻辑有何不同 本地直连mq 第一种形式就是典型的业务代码里面直接引入mq的客户端jar包 远程代理连接mq 有的极少数的单位并非是把收发消息的代码和业务放在一起的,而是单独抽出来,作为一个独立的消息中心,然后业务去调用这个服务,这个服务再去调用mq,同时这个服务自己去订阅mq,然后拿到服务后,再调用消费者业务,这种形式一般消息中心消息会落数据库。 在了解了两种不同性质的设计形式后,我们来看看这两种设计,在各个方面有何区别?在此我们要注意,任何一种设计都有优势和劣势,我们要合理的去看待他~ 收发消息性能 实际上,从上图就可以看...
