问题1:大佬们,请问一下,ones-client SDK 与rocketmq-client 有什么区别? 我看官方demo都是用的ones-client,我们项目之前都是用的 rocketmq-client? 问题2: 我用的rocketmq-client,发送延时消息时候,时间不能任意时间,只能传 delayTimeLevel ,是我的sdk版本低了吗?我看官方demo用ones-client是可以指定时间戳的,我的是4.9.5
【回答】
使用RocketMQ-Client发送消息时,可以直接使用RocketMQ提供的API来发送消息,也可以使用RocketMQ-Client提供的工具来发送消息。
而ones-client提供了更加灵活的API和工具,可以更加方便地发送消息和进行消息管理。
可以使用MessageExt类中的setSendTime方法设置消息的发送时间,使用setDelayTime方法设置消息的延时时间。
如果你的setSendTime和setDelayTime方法都没有起作用,可能是你没有正确地初始化消息或者消息发送失败。
OnesClient SDK 是阿里巴巴内部使用的云原生消息队列服务 product 实现 RocketMQ 协议的客户端 SDK,而 RocketMQ-Client 是 Apache RocketMQ 官方提供的客户端 SDK。
尽管两者都是基于 RocketMQ 协议实现的客户端 SDK,但是它们之间还是存在一些区别:
来源不同:OnesClient SDK 是阿里云在运营自身产品时开发的,主要用于支持阿里云 MQ 订阅和消费等基本操作,而 RocketMQ-Client 是 Apache RocketMQ 社区维护的官方客户端 SDK,支持更多的功能和应用场景。
功能不同:OnesClient SDK 支持的功能相对较少,只包括消息订阅和消费、消息发送、消息过滤等基本功能;而 RocketMQ-Client 不仅支持这些基本功能,还支持消息事务、延迟消息、顺序消息等高级特性,以及与 Spring 等框架的集成等。
发展方向不同:OnesClient SDK 的设计重点是支持阿里云 MQ 服务的各种特性,例如消息可靠性等级、可视化监控等,因此其发展方向更加倾向于云计算领域;而 RocketMQ-Client 主要面向企业级消息中间件领域,注重提供高性能、高可靠、易用性等特点。
回答1:ons的是阿里云原来的定制版sdk。现在新业务建议都使用开源的sdk,是可以兼容的。 ,此回答整理自钉群“群2-Apache RocketMQ 中国开发者钉钉群”
RocketMQ-Client:RocketMQ-Client 是 Apache RocketMQ 官方提供的 Java 客户端 SDK。
NES-Client SDK 是阿里云提供的一套全新的事件流式数据访问 SDK,用于访问和操作阿里云的事件流服务
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系产品 Serverless 化。RocketMQ 一站式学习:https://rocketmq.io/