这是我参与11月更文挑战的第27天,活动详情查看:2021最后一次更文挑战
前言
之前我们讲了rocketmq的概念,让我们书接上文,这次来讲一下RocketMQ的具体使用方法,目前公司主推的MQ就是RocketMQ,前前后后看了一点点源码,用了一个月,讲一下基础部分。可以满足大家的日常业务需求。
回顾
RocketMQ是一个高性能支持分布式的搭建的一款消息队列,他的吞吐量非常高,是阿里巴巴开源的一款中间件,在我上大学时,当时同学做毕设有一个问题:我用的python写的后端服务器如何跟你的java进行通讯呢?当时由于技术力过低最后放弃了异构,但是RocketMQ就可以做到通讯的一个作用,完美的解决上述问题,当然MQ有许多的应用场景,上述只是其中一种,它还可以用来做削峰填谷等抗住并发压力,给服务器带来高性能回报。
前提
在开始使用MQ之前我们需要导入MQ的包,这里由于我是公司的项目,所以我采用的包是官方给出的starter自动装配包,配合SpringBoot可以快速搭建项目,实现敏捷开发。当然你也可以选择导入原生MQ包,详细请读者去Maven中央仓库自行获取。
1 | xml复制代码<dependency> |
consumer
引入Mq jar包后,点击jar包可以发现他的文件中有一个这个注解
通过这个注解我们可以实现简单地消费者监听,配合topic实现连接MQ Broker来获取信息。
1 | less复制代码@Component |
通过yml的形式来注入topic可以实现不修改代码情况下更换topic。
producer
生产者基于MQ的官方start包更便于开发者使用,这里演示同步方法的调用,异步与单向发送是一样的,只是返回结果不同而已。
1 | kotlin复制代码@Autowired |
就一句话 ,比之前的原生发送简单了一万倍,其他的异步与同步也是一样得,异步要注意一下有个回调需要你自己处理一下。
1 | ini复制代码SendResult sendResult = mqTemplate.syncSend(aeratorTopic, 业务数据); |
本文转载自: 掘金