rocketmq

解决:Could not find or load main class org.apache.rocketmq.example.quickstart.Producer

风流意气都作罢 提交于 2019-12-05 03:53:35
1.情景描述 :我只是想安装运行 rocketmq,执行命令: sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer 报错如题: Could not find or load main class org.apache.rocketmq.example.quickstart.Producer 2. 原因和解决: 只是单纯的因为我运行命令的路径不对。 我是在 distribution 目录下执行的启动命令,执行的 distribution 目录下的 bin , 正确路径应该是: /distribution/target/apache-rocketmq,应该是调用这个路径下的 bin 。 来源: CSDN 作者: 微风--轻许-- 链接: https://blog.csdn.net/u011314442/article/details/81477297

搭建rocketMQ

限于喜欢 提交于 2019-12-04 21:26:00
1. 下载源码包 https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.4.0/rocketmq-all-4.4.0-source-release.zip 2. 解压unzip rocketmq-all-4.4.0-source-release.zip 3. 进入目录cd rocketmq-all-4.4.0/ 4. 打包mvn -Prelease-all -DskipTests clean install -U 5. 进入目录cd distribution/target/apache-rocketmq Name Server 1. 后台启动nohup sh bin/mqnamesrv & 2. 观察日志tail -f ~/logs/rocketmqlogs/namesrv.log,可以看到启动成功日志 未完待续 来源: https://www.cnblogs.com/pageBlog/p/11884817.html

RocketMQ Release Note(RocketMQ升级日志译文)

天涯浪子 提交于 2019-12-04 21:12:49
RocketMQ升级日志 1 4.2.0 原版Release Note 1.1 New Feature 支持传输层安全性 客户端支持log4j2 PushConsumer支持条数与大小维度的流控 1.2 Improvement 异常时使用logger替代e.printStackTrace() 在MappedFileQueue#flush成功时返回true 重命名临时变量 基准测试脚本被移动到分布式模块? 在解码远程调用的header时减少反射调用 减少OpenMessaging模块单元测试的开销 优化consumerThreadMax比consumerThreadMin小的情况下产生的异常信息 简化代码 在启动broker时增加commitLog与consumeQueue数据的一致性检查 增加避免重复启动broker的检查 修改java8的JVM参数和及调整和直接内存GC相关的参数 增加nameserver的套接字buffer以提升broker注册速度 为broker的pull-request队列增加快速失败机制(类似发送时的流控) QueryMessageProcessor使用独立线程池(之前与PullMessageProcessor共用) 强化TLS设置 将发信号的时机调整为异步请求回调结束后 暴露一个接口使客户端可以指定异步回调的执行器 增加一个接口来支持解码加密过的私钥文件

rocketMq消息的发送和消息消费

谁都会走 提交于 2019-12-04 20:03:30
rocketMq消息的发送和消息消费 一.消息推送 public void pushMessage() { String message = "推送消息内容!"; try { DefaultMQProducer producer = new DefaultMQProducer(producerGroup); // 设置NameServer地址 producer.setNamesrvAddr("服务器地址+端口号"); producer.setInstanceName("producer"); // 只需要在发送前初始化一次 producer.start(); // 构建消息实体 Message msg = new Message(topic,// topic tag,// tag message.getBytes()// body ); SendResult sendResult = producer.send(msg); System.out.printf("%s%n", sendResult); producer.shutdown(); } catch (Exception ex) { ex.printStackTrace(); } } 二.消息消费 @Autowired private MessageReceiveService messageReceiveService;

聊聊rocketmq的adjustThreadPoolNumsThreshold

馋奶兔 提交于 2019-12-04 17:38:54
序 本文主要研究一下rocketmq的adjustThreadPoolNumsThreshold DefaultMQPushConsumer rocketmq-client-4.5.2-sources.jar!/org/apache/rocketmq/client/consumer/DefaultMQPushConsumer.java public class DefaultMQPushConsumer extends ClientConfig implements MQPushConsumer { private final InternalLogger log = ClientLogger.getLog(); //...... /** * Threshold for dynamic adjustment of the number of thread pool */ private long adjustThreadPoolNumsThreshold = 100000; public long getAdjustThreadPoolNumsThreshold() { return adjustThreadPoolNumsThreshold; } public void setAdjustThreadPoolNumsThreshold(long

rocketMQ broker 分发并处理请求

こ雲淡風輕ζ 提交于 2019-12-04 16:11:32
使用 netty 监听端口 // org.apache.rocketmq.remoting.netty.NettyRemotingServer#start ServerBootstrap childHandler = this.serverBootstrap.group(this.eventLoopGroupBoss, this.eventLoopGroupSelector) .channel(useEpoll() ? EpollServerSocketChannel.class : NioServerSocketChannel.class) .option(ChannelOption.SO_BACKLOG, 1024) .option(ChannelOption.SO_REUSEADDR, true) .option(ChannelOption.SO_KEEPALIVE, false) .childOption(ChannelOption.TCP_NODELAY, true) .childOption(ChannelOption.SO_SNDBUF, nettyServerConfig.getServerSocketSndBufSize()) .childOption(ChannelOption.SO_RCVBUF, nettyServerConfig

聊聊rocketmq的consumeTimeout

蹲街弑〆低调 提交于 2019-12-04 14:26:32
序 本文主要研究一下rocketmq的consumeTimeout consumeTimeout rocketmq-client-4.5.2-sources.jar!/org/apache/rocketmq/client/consumer/DefaultMQPushConsumer.java public class DefaultMQPushConsumer extends ClientConfig implements MQPushConsumer { private final InternalLogger log = ClientLogger.getLog(); //...... /** * Maximum amount of time in minutes a message may block the consuming thread. */ private long consumeTimeout = 15; public long getConsumeTimeout() { return consumeTimeout; } public void setConsumeTimeout(final long consumeTimeout) { this.consumeTimeout = consumeTimeout; } public TraceDispatcher

RocketMQ、Kafka、RabbitMQ的对比

假如想象 提交于 2019-12-04 13:51:24
RocketMQ 相比于 RabbitMQ、Kafka 具有主要优势特性有: 支持事务型消息(消息发送和DB操作保持两方的最终一致性,RabbitMQ 和Kafka 不支持) 支持结合 RocketMQ 的多个系统之间数据最终一致性(多方事务,二方事务是前提) 支持18个级别的延迟消息(RabbitMQ 和 Kafka 不支持) 支持指定次数和时间间隔的失败消息重发(Kafka不支持,RabbitMQ 需要手动确认) 支持 consumer 端 tag 过滤,减少不必要的网络传输(RabbitMQ 和 Kafka不支持) 支持重复消费(RabbitMQ 不支持,Kafka支持) Kafka、RocketMQ、RabbitMQ 的详细对比,请参照下表格: 还有一些对比: 综上所述,各种对比之后,我个人倾向于是: 一般的业务系统要引入 MQ ,最早大家都用 ActiveMQ ,但是现在确实大家用的不多了,没经过大规模吞吐量场景的验证,社区也不是很活跃,所以大家还是算了吧,我个人不推荐用这个了; 后来大家开始用 RabbitMQ ,但是确实 erlang 语言阻止了大量的 java 工程师去深入研究和掌控他,对公司而言,几乎处于不可控的状态,但是确实人是开源的,比较稳定的支持,活跃度也高; 不过现在确实越来越多的公司,会去用 RocketMQ ,确实很不错

RocketMQ ACL使用指南

天大地大妈咪最大 提交于 2019-12-04 11:58:20
目录 1、什么是ACL? 2、ACL基本流程图 3、如何配置ACL 3.1 acl配置文件 3.2 RocketMQ ACL权限可选值 3.3、权限验证流程 4、使用示例 4.1 Broker端安装 4.2 消息发送端示例 4.3 消息消费端示例 @(本节目录) 1、什么是ACL? ACL是access control list的简称,俗称访问控制列表。访问控制,基本上会涉及到用户、资源、权限、角色等概念,那在RocketMQ中上述会对应哪些对象呢? 用户 用户是访问控制的基础要素,也不难理解,RocketMQ ACL必然也会引入用户的概念,即支持用户名、密码。 资源 资源,需要保护的对象,在RocketMQ中,消息发送涉及的Topic、消息消费涉及的消费组,应该进行保护,故可以抽象成资源。 权限 针对资源,能进行的操作, 角色 RocketMQ中,只定义两种角色:是否是管理员。 另外,RocketMQ还支持按照客户端IP进行白名单设置。 2、ACL基本流程图 在讲解如何使用ACL之前,我们先简单看一下RocketMQ ACL的请求流程: 对于上述具体的实现,将在后续文章中重点讲解,本文的目的只是希望给读者一个大概的了解。 3、如何配置ACL 3.1 acl配置文件 acl默认的配置文件名:plain_acl.yml,需要放在${ROCKETMQ_HOME}/store

2019 梆梆安全java面试笔试题 (含面试题解析)

自闭症网瘾萝莉.ら 提交于 2019-12-04 11:20:50
本人3年开发经验、18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴、今日头条、梆梆安全等公司offer,岗位是Java后端开发,最终选择去了梆梆安全。 面试了很多家公司,感觉大部分公司考察的点都差不多,所以将自己的心得记下来,希望能给正在找或者准备找工作的朋友提供一点帮助。另外,目前在梆梆安全也做面试官的工作,身份从求职者变为面试官,看问题的很多角度也不一样,所以下文中既有求职者的视角,也有面试官的视角 面试流程   先说下面试流程,一般大公司都有3-4轮技术面,1轮的HR面。就梆梆安全而言,我共经历了4轮技术面,前两轮主要是问基础和项目实现,第3轮是交叉面,两个面试官,主要是问项目实现和拓展。第4轮是部门老大面,主要就问一些架构、技术和业务的理解、个人发展比较抽象的东西了。 要注意的点 简历一到两页为最佳,将项目经历写2-3个左右就差不多了,一定要写最有亮点的项目 工作经历的起始时间要写清楚,另外大公司都有背调,不要合并或省略一些比较短的工作经历,影响的可能不只是这次面试,而是之后可能都无法进这家公司 博客没什么好文章,github没好项目就不要写在简历中了 对于面试官的问题,想清楚再回答,如果觉得需要的时间可能比较长,可以跟面试官说我思考下、我整理下思路之类的 面试的过程中注意语速和吐字,本人在做面试官后,发现很多人说话语速很快,或吐字不清