消息队列MQ的使用流程

一、简介

在大型平台的分布式项目中,消息队列MQ具有重要的作用,经常用在边缘业务功能的处理中,比如日志管理【下面将以Bug日志保存为例】,因为像日志保存、新用户注册发送邮件等操作都不是主干业务,可以放在消息队列异步处理,这样可以减小项目的阻塞和压力。下面介绍的是比较常用的一个消息队列ActiveMQ

二、项目的一般业务逻辑

就以Bug日志保存为例,介绍一般的业务逻辑:【如下图代码示例】

【1】写一个接口,

【2】然后调用注入的Service的业务逻辑方法,

【3】接口返回结果,流程结束。

三、要用消息队列情况的业务逻辑

【1】首先要有另外一个新的MQ项目服务器,用于接收消息,和处理消息,暴露接口出来即可,

【2】在原先的项目业务上修改:请求MQ项目暴露出来的接口,把数据传过去,如果是传输的数据是对象得注意这个对象进行序列话【就是实现Serializable接口】

【3】需要注意的是,原先的项目中的service的业务逻辑代码要copy到MQ项目中,到这里你可能就明白了MQ的实现原理:原先的项目就负责发送消息给MQ项目,然后MQ项目上有一套完全一样的业务处理代码,MQ项目在拿到消息后再慢慢处理消息【异步进行】,说通俗一点,就相当于将业务转移到另外一个项目。

四、MQ项目消息端配置 

【1】原先项目中的service方法要copy过来,还有对应的实体类也要copy一致,

【2】写一个接收消息的接口:

【3】生产消息的生产端【生产者】

【4】消费消息的消费端 【消费者】

【5】配置queue的名字

 这是简单的运用,用起来还是蛮简单的,但是要了解里面的原理还要多多学习源码。

猜你喜欢

转载自blog.csdn.net/qq_35860138/article/details/82776269