问题标签 [rocketmq]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2048 浏览

mongodb - MongoDB insertMany 或 bulkwrite 在 Java-API 中引发重复键错误

当我尝试使用 java api 将许多数据插入 Mongodb4.0(副本集)时,它会引发重复键错误。数据量不算太大,只有300000左右。& 在 3-5 秒内插入

首先我从官方文档和网站上搜索。表明

每个进程最多运行 256^3 (16777216)

数据源来自rocketmq。这是我的代码,

然后将数据插入 MongoDB

但错误显示

我在java中的小数据为什么会发生这种情况,该对象是由MongoDB本身创建的。数据大小小于其支持的,我使用JDBC版本mongo-java-driver 3.7.1
提前谢谢!

0 投票
1 回答
393 浏览

java - 为什么 Thread.sleep(0) 可以防止 RocketMQ 中的 gc?

最近在看 RocketMQ 的源码,但是看不懂这段代码。为什么这段代码可以阻止gc?

https://github.com/apache/rocketmq/blob/master/store/src/main/java/org/apache/rocketmq/store/MappedFile.java

0 投票
1 回答
166 浏览

message-queue - RocketMQ 客户端不能消费消息

我正在使用rocketmq 4.3.1客户端,现在遇到了一些问题。一个已经使用了一段时间的消费者组有一些未消费的消息。现在我是消息队列的新手,消费者不能正常消费,只好重启消费者服务才能消费消息。但是我改成一个消费者组,消费者可以在消息队列中心实时获取消息。我想知道这个问题的原因。非常感谢 在这里输入图片描述

在此处输入图像描述

0 投票
0 回答
143 浏览

debian - 根据官网安装rokcketmq 4.3.2 for debian,但无法“启动名称服务器”

tail -f ~/logs/rocketmqlogs/namesrv.log 执行 cmd,但报错

root@debian:/usr/local/mq/rocketmq-all-4.3.2# cd distribution/target/apache-rocketmq root@debian:/usr/local/mq/rocketmq-all-4.3.2/distribution/target/ apache-rocketmq# nohup sh bin/mqnamesrv & [1] 1342 root@debian:/usr/local/mq/rocketmq-all-4.3.2/distribution/target/apache-rocketmq# nohup: 加载输入并把输出追加到'nohup.out' tail -f ~/logs/rocketmqlogs/namesrv.log tail: 无法打开'/root/logs/rocketmqlogs/namesrv.log' 读取数据: 没有那个或目录tail: 没有文件剩余[1] + 退出 127 nohup sh bin/mqnamesrv root@debian:/usr/local/mq/rocketmq-all-4.3.2/distribution/target/apache-rocketmq# tail -f ~/logs/rocketmqlogs/namesrv.log tail: 无法打开'/root/logs/rocketmqlogs/namesrv.log' 读取数据:没有那个文件或目录tail:没有剩余文件

0 投票
4 回答
3454 浏览

spring - Spring Boot 应用程序可以处理大量请求

我正在使用 Spring-boot 或 Spring-Cloud Framework 来开发 Web 应用程序。系统将主要处理来自客户端的 HTTP Restful 请求,然后将它们保存到 MySQL 数据库中。

但我计划使其更具可扩展性。它应该能够启动每个服务的更多实例,并使系统可以处理更多的传入请求。

但是我不确定我做的是否正确,有没有人可以帮我检查一下我目前的方法是否合理,或者在我的方法中提出任何潜在的风险。

我正在做的是:

  1. 服务 A 在其控制器中接收请求,然后将它们异步写入 RocketMQ。RocketMQ 用于削峰。

  2. 然后服务 B 订阅服务 A 写入的 RocketMQ 主题,并将消息以列表的形式缓存到 Redis 中。

  3. 服务 C 启动一个守护线程检查 Redis 中的消息编号。如果缓存列表大小达到一定值,它会将所有消息拉取并保存到 MySQL 中,然后刷新 Redis 中的缓存。

0 投票
0 回答
58 浏览

mq - RocketMQ 连接到 Z/OS IBM MQ 队列

有没有人使用 JMS 连接成功地将 RocketMQ 4.x 版本连接到 Z/OS 上的 IBM MQ 队列?您遇到了哪些问题以及启用了哪些特定用例/模式?预先感谢您的回复。

0 投票
1 回答
548 浏览

java - 如何修复 RocketmqClient 中的“主题名称服务器中没有主题路由信息”异常

我正在使用 apache-rocketmq 发送消息,但出现异常。我尝试了 csdn 的许多解决方案,但它不起作用。现在我不知道如何处理它。

这是一个 Linux 服务器,运行 rocketmq 4.2.0、java 8 和 tomcat 8。

0 投票
2 回答
200 浏览

rocketmq - readQueue 和 writeQueue 有什么区别

在 RocketMQ 中,readQueue 的数量和 writeQueue 的数量可以单独设置,在我看来只有公共部分可以按预期工作。

例如,如果 readQueueNum 设置为 8 并且 writeQueueNum 设置为 16,则有一半的消息根本没有被处理。

我试图在代码中找出这种设计的基本原理,但还没有找到任何线索。有人可以帮忙解释一下吗?谢谢

0 投票
1 回答
764 浏览

spring-boot - 使用 Spring Boot 2.1.5、Spring Cloud Stream Greenwich.SR1 和 RocketMQ 0.9.0 无法停止 bean 'inputBindingLifecycle'

我在这里看到了类似的问题,但它是针对旧版本的。不知道冲突的版本对我来说是什么,以及我需要使用什么。

我使用 Spring Initializr 来创建我的项目,遵循 SCS Reference Quick Start。这为我设置了当前版本(2.1.5,Greenwich.SR1)。

我手动添加的唯一依赖项是 RocketMQ,因为 Spring Initializr 找不到它。这是我的pom.xml

当我尝试关闭应用程序时,就会发生有问题的错误,这个过程每次都需要将近一分钟。这是我关闭应用程序时的完整堆栈跟踪:

无法停止 bean 'inputBindingLifecycle'

java.lang.IllegalStateException:在 java.lang.ApplicationShutdownHooks.remove(ApplicationShutdownHooks.java:82)~[na:1.8.0_181] at java.lang.Runtime.removeShutdownHook(Runtime.java:239)处正在关机~[na :1.8.0_181] 在 org.apache.rocketmq.client.trace.AsyncTraceDispatcher.removeShutdownHook(AsyncTraceDispatcher.java:210) ~[rocketmq-client-4.4.0.jar:4.4.0] 在 org.apache.rocketmq.client .trace.AsyncTraceDispatcher.shutdown(AsyncTraceDispatcher.java:183) ~[rocketmq-client-4.4.0.jar:4.4.0] at org.apache.rocketmq.client.consumer.DefaultMQPushConsumer.shutdown(DefaultMQPushConsumer.java:598) ~[rocketmq-client-4.4.0.jar:4.4.0] at org.springframework.cloud.stream.binder.rocketmq.sumption.RocketMQListenerBindingContainer.stop(RocketMQListenerBindingContainer.java:175) ~[spring-cloud-stream-binder -火箭MQ-0.9。0.RELEASE.jar:0.9.0.RELEASE] 在 org.springframework.cloud.stream.binder.rocketmq.integration.RocketMQInboundChannelAdapter.doStop(RocketMQInboundChannelAdapter.java:128) ~[spring-cloud-stream-binder-rocketmq-0.9 .0.RELEASE.jar:0.9.0.RELEASE] 在 org.springframework.integration.endpoint.AbstractEndpoint.stop(AbstractEndpoint.java:173) ~[spring-integration-core-5.1.3.RELEASE.jar:5.1。 3.RELEASE] 在 org.springframework.cloud.stream.binder.DefaultBinding.stop(DefaultBinding.java:127) ~[spring-cloud-stream-2.1.2.RELEASE.jar:2.1.2.RELEASE] 在 org. springframework.cloud.stream.binder.DefaultBinding.unbind(DefaultBinding.java:159) ~[spring-cloud-stream-2.1.2.RELEASE.jar:2.1.2.RELEASE] at org.springframework.cloud.stream.binding .BindingService.unbindConsumers(BindingService.java:303) ~[spring-cloud-stream-2.1.2.RELEASE.jar:2.1.2.RELEASE] 在 org.springframework.cloud.stream.binding.BindableProxyFactory.unbindInputs(BindableProxyFactory.java:307) ~[spring-cloud-stream-2.1.2.RELEASE.jar:2.1.2.RELEASE] 在 org. springframework.cloud.stream.binding.InputBindingLifecycle.doStopWithBindable(InputBindingLifecycle.java:66) ~[spring-cloud-stream-2.1.2.RELEASE.jar:2.1.2.RELEASE] at java.util.LinkedHashMap$LinkedValues.forEach (LinkedHashMap.java:608)~[na:1.8.0_181] at org.springframework.cloud.stream.binding.AbstractBindingLifecycle.stop(AbstractBindingLifecycle.java:56)~[spring-cloud-stream-2.1.2.RELEASE. jar:2.1.2.RELEASE] 在 org.springframework.cloud.stream.binding.InputBindingLifecycle.stop(InputBindingLifecycle.java:34) ~[spring-cloud-stream-2.1.2.RELEASE.jar:2.1.2.RELEASE ] 在 org.springframework.cloud.stream.binding。AbstractBindingLifecycle.stop(AbstractBindingLifecycle.java:73) ~[spring-cloud-stream-2.1.2.RELEASE.jar:2.1.2.RELEASE] at org.springframework.cloud.stream.binding.InputBindingLifecycle.stop(InputBindingLifecycle.java :34) ~[spring-cloud-stream-2.1.2.RELEASE.jar:2.1.2.RELEASE] at org.springframework.context.support.DefaultLifecycleProcessor.doStop(DefaultLifecycleProcessor.java:238) [spring-context-5.1 .5.RELEASE.jar:5.1.5.RELEASE] 在 org.springframework.context.support.DefaultLifecycleProcessor.access$300(DefaultLifecycleProcessor.java:53) [spring-context-5.1.5.RELEASE.jar:5.1.5。 RELEASE] at org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.stop(DefaultLifecycleProcessor.java:377) [spring-context-5.1.5.RELEASE.jar:5.1.5.RELEASE] at org.springframework.context.support .DefaultLifecycleProcessor。stopBeans(DefaultLifecycleProcessor.java:210) [spring-context-5.1.5.RELEASE.jar:5.1.5.RELEASE] at org.springframework.context.support.DefaultLifecycleProcessor.onClose(DefaultLifecycleProcessor.java:128) [spring-context -5.1.5.RELEASE.jar:5.1.5.RELEASE] 在 org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1018) [spring-context-5.1.5.RELEASE.jar:5.1.5 .RELEASE] 在 org.springframework.context.support.AbstractApplicationContext$1.run(AbstractApplicationContext.java:945) [spring-context-5.1.5.RELEASE.jar:5.1.5.RELEASE] ```springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1018) [spring-context-5.1.5.RELEASE.jar:5.1.5.RELEASE] at org.springframework.context.support.AbstractApplicationContext$1.run(AbstractApplicationContext .java:945) [spring-context-5.1.5.RELEASE.jar:5.1.5.RELEASE] ```springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1018) [spring-context-5.1.5.RELEASE.jar:5.1.5.RELEASE] at org.springframework.context.support.AbstractApplicationContext$1.run(AbstractApplicationContext .java:945) [spring-context-5.1.5.RELEASE.jar:5.1.5.RELEASE] ```

0 投票
1 回答
90 浏览

java - 一个topic有4个队列,只消费一个

RocketMQ 有一些主题,但只有一个主题有 4 个队列,只能消费 1 个队列。

RocketMQ 4.2.0 Java 1.8

消费组配置:

当我重置主题时间戳并重新启动应用程序时。所有队列都会被消耗。但是运行一段时间,只会消耗一个队列。