香港财神爷免费图库,白小姐心水www42858con,香港正版马会生活幽默妙解一肖,91东方心经玄机图,红姐图库彩图库
香港财神爷免费图库

到底什么时候该使用MQ(讲的很透彻)?_科技频道_东方头条

时间:2019-11-01 16:22  作者:admin  来源:未知   查看:  
内容摘要:四、什么时候使用MQ 引入一个技术之前,首先应该解答的问题是,这个技术解决什么问题。 一、缘起 MQ的不足是: 3)消息可靠性和重复性互为矛盾,消息不丢不重难以同时保证 不少网友询问,究竟什么时候使用MQ,MQ究竟适合什么场景,故有了此文。 最近分享了几

四、什么时候使用MQ

引入一个技术之前,首先应该解答的问题是,这个技术解决什么问题。

一、缘起

MQ的不足是:

3)消息可靠性和重复性互为矛盾,消息不丢不重难以同时保证

不少网友询问,究竟什么时候使用MQ,MQ究竟适合什么场景,故有了此文。

最近分享了几篇MQ相关的文章:

三、什么时候不使用消息总线

《MQ如何实现幂等性》

什么是任务依赖,举个栗子,互联网公司经常在凌晨进行一些数据统计任务,这些任务之间有一定的依赖关系,比如:

1)task3需要使用task2的输出作为输入

举个栗子:用户登录场景,登录页面调用passport服务,passport服务的执行结果直接影响登录结果,此处的“登录页面”与“passport服务”就必须使用调用关系,而不能使用MQ通信。

既然MQ是互联网分层架构中的解耦利器,那所有通讯都使用MQ岂不是很好?这是一个严重的误区,调用与被调用的关系,是无法被MQ取代的。

这样的话,tast1, task2, task3之间就有任务依赖关系,必须task1先执行,再task2执行,载task3执行。

【典型场景一:数据驱动的任务依赖】

《MQ如何实现延时消息》

1)系统更复杂,多了一个MQ组件

在互联网架构中,MQ是一种非常常见的上下游“逻辑解耦+物理解耦”的消息通信服务。

消息总线(Message Queue),后文称MQ,是一种跨进程的通信机制,用于上下游传递消息。

使用了MQ之后,消息发送上游只需要依赖MQ,逻辑上和物理上都不用依赖其他服务。

对于这类需求,常见的实现方式是,使用cron人工排执行时间表:

2)task2需要使用task1的输出作为输入

一切脱离业务的架构设计与新技术引入都是耍流氓。

4)上游无法知道下游的执行结果,这一点是很致命的

就像微服务分层架构之前,应该首先回答,为什么要引入微服务,微服务究竟解决什么问题(详见《互联网架构为什么要做微服务?》)。

二、MQ是干嘛的

2)消息传递路径更长,延时会增加

无论如何,记住这个结论:调用方实时依赖执行结果的业务场景,请使用调用,而不是MQ。

《MQ如何实现消息必达》


标签:

Power by DedeCms