问题标签 [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.
java - 文件传输的消息队列
我的问题很简单。我正在寻找一种能够进行可靠 EDI 文件传输以及附加一些元数据的 MQ 解决方案。
我最近尝试过 RocketMQ,但遇到了硬编码的消息大小限制。我喜欢 RocketMQ,因为它简单,但缺乏文档和消息大小限制让我想知道是否有替代方案。
您将使用什么进行 EDI 消息传输?
rocketmq - RocketMQ Consumer请求偏移量远大于broker中的最大偏移量且Consumer Diff为负
RocketMQ 版本:3.2.6
我们的集群:
- 2 名称服务器
- 6 主经纪商
- 6 奴隶经纪人
我们有很多消费者(大约 100 个)从代理消费消息,
- 我们使用命令来监控消费差异 命令:/data/alibaba-rocketmq/bin/mqadmin consumerProgress -n XXX:XX 只有一个代理的差异是负数(例如:-898232391123,-8323231872),其他代理是健康的。
- 很多经纪人警告日志如下
java - 字节缓冲区写入花费太多时间
我对rocketmq做了一个负载测试,然后我发现了很多长调用,长调用花费超过100ms。但是我阅读了长调用的源代码,主要成本是字节缓冲区的写入。核心代码如下:
日志显示CommitLog.this.defaultMessageStore.now() - beginTimeMills
(下面日志中的 pagecacheRT)花费超过 100 毫秒。
是put操作的时间成本。然后pagecacheRT
我看到了byteBuffer的初始化代码,像这样:
字节缓冲区只是一个直接缓冲区。我的测试环境是一台32处理器和96G内存的物理机,写入字节为125字节预写入。我在负载测试的时候看到监视器,CPU和磁盘都很健康。我不认为这个问题是由rocketmq的工具造成的。因为主要代码很简单,只是上面的部分代码。
但是我不明白为什么写记忆会花费这么多时间。有什么办法可以理解这些吗?
提前致谢!
rocketmq - 如何更改rocketmq的端口
我知道 RocketMQ 的名称服务器端口是 9876(默认),在这里我可以像这样将端口更改为 9877(示例)
回声“listenPort=9877”> port.properties
nohup sh mqnamesrv -c port.properties &
然后 netstat -tunlp |grep 9877
现在我想像这样绑定ip 192.168.1.10:9877,不要像0.0.0.0那样绑定
剂量有人知道吗?
apache-kafka - Apache Pulsar 与 Apache RocketMQ
Apache Pulsar(由 Yahoo)似乎是下一代 Apache Kafka。
Apache RocketMQ(由阿里巴巴)似乎是下一代 Apache ActiveMQ。
两者都是开源分布式消息传递和流数据平台。
但是他们如何比较?在功能和性能方面,我什么时候应该更喜欢一个?
Pulsar(如 Kafka)是否更擅长流式传输,而 RocketMQ(如 ActiveMQ)更擅长消息传递?
visual-studio-2017 - rocketmq-cpp 致命错误 LNK1112:模块机器类型“x64”与目标机器类型“X86”冲突
我正在从rocketmq-cpp 开源github 项目生成rocketmq dll。我使用了以下Prequisite boost 1.56.0,--> 使用这个 jam.exe msvc architecture=x86 address-model=64 link=static runtime-link=static 构建阶段(64位构建)Cmake 3.9.3所以,我已经使用cmake -G“Visual Studio 15 2017”构建rocketmq-cpp它会生成项目但是当我构建项目时它总是显示错误libboost_thread-vc140-mt- s-1_56.lib(thread.obj):致命错误 LNK1112:模块机器类型“x64”与目标机器类型“X86”冲突但是当我将 boost 1.56.0 更改为使用 32 位构建之后,我得到了致命错误错误 LNK1112 libboost_atomic-vc120-mt-1_58 not found 。我无法找到 Visual Studio 是如何搜索 libboost_atomic-vc120-mt-1_58 的,这在 boost 1.56.0/stage/lib.i 中不存在。
rocketmq - 在rocketmq中使用集群时如何设置用户名和密码?
使用集群时如何设置用户名和密码?RocketMQ 支持用户名和密码吗?
java - 将 Netty 异步任务处理为 http 请求的最佳方法是什么?
我在构建物联网服务时遇到了一些问题。
我的架构如下图所示:
这里 netty 服务器充当直通代理,将Userbrowser
消息和 Web 服务器消息转换为二进制流到远程 IoT 设备,然后 IoT 设备将一些消息返回给用户。
我用来在和RocketMQ
之间交流WebServer
NettyServer
我的问题是由于 UserBrowser 的 http 请求是同步操作,Netty 是异步架构,如何将 Netty 中的异步操作转换为同步 HTTP 请求?
我应该缓存请求并等待 IoT 的响应,然后返回吗?在这种情况下WebServer
是同步调用
或者我应该始终使用异步,UserBrowser 投票结果来自WebServer
?