Spring集成RocketMq

本文介绍了Spring集成RocketMQ的过程,包括RocketMQ的高吞吐量、高可用性和消息可靠性等优点,同时也提到了其客户端语言支持不足和社区活跃度一般的缺点。文章详细阐述了RocketMQ的docker部署步骤,以及如何配置Spring的生产者和消费者。通过一个简单的服务接口验证了RocketMQ的可用性。
摘要由CSDN通过智能技术生成

先说下RocketMQ的优点​:

  • 单机吞吐量:十万级

  • 可用性:非常高,分布式架构

  • 消息可靠性:经过参数优化配置,消息可以做到0丢失

  • 功能支持:MQ功能较为完善,还是分布式的,扩展性好

  • 支持10亿级别的消息堆积,不会因为堆积导致性能下降

  • 源码是java,我们可以自己阅读源码,定制自己公司的MQ,可以掌控 

缺点:

  • 支持的客户端语言不多,目前是java及c++,其中c++不成熟;

  • 社区活跃度一般

  • 没有在 mq 核心中去实现JMS等接口,有些系统要迁移需要修改大量代码

     

docker部署服务端​:

rocketmq-server

docker run --name rocketmq.server -d \-p 9876:9876 \foxiswho/rocketmq:server

rocketmq-broker

docker run --name rocketmq.broker -d \-p 10911:10911 \-p 10909:10909 \--link rocketmq.server:namesrv \-e "NAMESRV_ADDR=namesrv:9876" \-e "JAVA_OPTS=-Duser.home=/opt" \-e "JAVA_OPT_EXT=-server -Xms128m -Xmx128m -Xmn128m" \-v `pwd`/conf/broker.conf:/etc/rocketmq/broker.conf \foxiswho/rocketmq:broker

rocket-console

docker run --name rocketmq.console \-p 8180:8080 \--link rocketmq.server:namesrv \-e "JAVA_OPTS=-Drocketmq.namesrv.addr=namesrv:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" -t \styletang/rocketmq-console-ng

 

分别启动相关服务,若不知道docker怎么安装的可以看我以前的文章

访问mq的查看页面

 

客户端​:

用到的依赖​:

<!-- https://mvnrepository.com/artifact/org.apache.rocketmq/rocketmq-client -->    <dependency>      <groupId>org.apache.rocketmq</groupId>      <artifactId>rocketmq-client</artifactId>      <version>4.5.2</version>    </dependency>

生产者​:

package org.jeemp.rocketmq;import org.apache.rocketmq.client.producer.DefaultMQProducer;import org.slf4j.Logger;import org.slf4j.LoggerFactory;public class JeempProducer {
      private Logger logger = LoggerFactory.getLogger(JeempProducer.class);    private String producerGroupName;    private String nameServerAddr;    private DefaultMQProducer defaultMQProducer;    public void setNameServerAddr(String nameServerAddr) {
          this.nameServerAddr = nameServerAddr;    }    public void setProducerGroupName(String producerGroupName) {
          this.producer
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值