近期,好多网友提起mq积累的问题,也不知道他们是工作场景中遇到实际问题,还是说在面试过程中遇到这样的问题,因此想知道这个问题答案。不管是哪种情况吧,那么接下来我就以自然语言的方式与大家轻松的来讨论一下mq相关的东西吧。
什么是mq?
什么是mq呢?其实相比mq这个叫法,国内好多朋友更喜欢叫消息队列,既然是这样的话,那么想必mq一定是 message queue的缩写了,通常mq的工作方式都是委托模式,是一个生产者消费者的模式,一般顺序执行的程序都是需要耗时的,如果改用使用消息队列的的话,就可以将一些具体处理业务的程序省略掉,直接委托给消息队列,然后继续往下执行其他部分, 然后再委派另一个进程去处理消息队列上的内容, 因此这个过程就可以理解为生产者与消费者,生产者只负责往消息队列中添加内容,而消费者则负责处理消息队列中的内容,一个负责让队列壮大,一个负责让队列减小。
mq用于解决什么问题?
那么mq用于解决什么样的问题呢?在什么样的场景下比较适合使用mq呢?以我个人的语言来说,mq适合于解决那些高并发非实时的问题,举个实际例子,比如发邮件,在程序中大量用到发邮件的话,大家都知道发邮件程序也是需要耗时的,你在运行业务程序时,运行到一半的时候,因为发邮件程序导致程序在那转了一小会才继续往后执行这显然是体验很不好的,如果再有一定并发的情况,那简直是没法看了,因此这种情况下就把mq用上&#x