开发者社区 > 云原生 > 云消息队列 > 正文

大佬们,请问一下,ones-client SDK 与rocketmq-client 有什么区别?

问题1:大佬们,请问一下,ones-client SDK 与rocketmq-client 有什么区别? 我看官方demo都是用的ones-client,我们项目之前都是用的 rocketmq-client? 问题2: 我用的rocketmq-client,发送延时消息时候,时间不能任意时间,只能传 delayTimeLevel ,是我的sdk版本低了吗?我看官方demo用ones-client是可以指定时间戳的,我的是4.9.5

展开
收起
真的很搞笑 2023-05-30 13:55:18 577 0
5 条回答
写回答
取消 提交回答
  • CSDN博客专家,51CTO博主专家,多知名企业认证讲师&签约作者&培训讲师,特邀作者等,华为云专家,资深测试开发专家,金牌面试官,职场面试培训及规划师。

    【回答】

    • 问题1,ones-client是阿里开源的一款消息队列客户端库,而RocketMQ-Client是阿里开源的一款消息队列中间件,提供了一系列消息队列相关的API和工具。因此,在使用上,ones-client和RocketMQ-Client有一些相似,但也存在一些差异。

    使用RocketMQ-Client发送消息时,可以直接使用RocketMQ提供的API来发送消息,也可以使用RocketMQ-Client提供的工具来发送消息。

    而ones-client提供了更加灵活的API和工具,可以更加方便地发送消息和进行消息管理。

    • 问题2,可能是你没有正确地使用RocketMQ-Client提供的API来发送消息。

    可以使用MessageExt类中的setSendTime方法设置消息的发送时间,使用setDelayTime方法设置消息的延时时间。

    如果你的setSendTime和setDelayTime方法都没有起作用,可能是你没有正确地初始化消息或者消息发送失败。

    2023-05-30 16:34:31
    赞同 1 展开评论 打赏
  • OnesClient SDK 是阿里巴巴内部使用的云原生消息队列服务 product 实现 RocketMQ 协议的客户端 SDK,而 RocketMQ-Client 是 Apache RocketMQ 官方提供的客户端 SDK。

    尽管两者都是基于 RocketMQ 协议实现的客户端 SDK,但是它们之间还是存在一些区别:

    1. 来源不同:OnesClient SDK 是阿里云在运营自身产品时开发的,主要用于支持阿里云 MQ 订阅和消费等基本操作,而 RocketMQ-Client 是 Apache RocketMQ 社区维护的官方客户端 SDK,支持更多的功能和应用场景。

    2. 功能不同:OnesClient SDK 支持的功能相对较少,只包括消息订阅和消费、消息发送、消息过滤等基本功能;而 RocketMQ-Client 不仅支持这些基本功能,还支持消息事务、延迟消息、顺序消息等高级特性,以及与 Spring 等框架的集成等。

    3. 发展方向不同:OnesClient SDK 的设计重点是支持阿里云 MQ 服务的各种特性,例如消息可靠性等级、可视化监控等,因此其发展方向更加倾向于云计算领域;而 RocketMQ-Client 主要面向企业级消息中间件领域,注重提供高性能、高可靠、易用性等特点。

    2023-05-30 16:01:52
    赞同 展开评论 打赏
  • 回答1:ons的是阿里云原来的定制版sdk。现在新业务建议都使用开源的sdk,是可以兼容的。 ,此回答整理自钉群“群2-Apache RocketMQ 中国开发者钉钉群”

    2023-05-30 14:19:00
    赞同 展开评论 打赏
  • 天下风云出我辈,一入江湖岁月催,皇图霸业谈笑中,不胜人生一场醉。
    1. ones-client是RocketMQ的新一代Java客户端,是官方推荐的客户端。rocketmq-client是老版本的客户端,不再推荐使用。
    2. ones-client采用Netty重构,性能比rocketmq-client有较大提升。
    3. ones-client支持更丰富的消息类型,如批量消息、事务消息、定时消息等。rocketmq-client支持的消息类型较少。
    4. ones-client的API更简洁,学习曲线更低。
    2023-05-30 14:13:37
    赞同 展开评论 打赏
  • RocketMQ-Client:RocketMQ-Client 是 Apache RocketMQ 官方提供的 Java 客户端 SDK。

    NES-Client SDK 是阿里云提供的一套全新的事件流式数据访问 SDK,用于访问和操作阿里云的事件流服务

    2023-05-30 14:12:25
    赞同 展开评论 打赏

涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系产品 Serverless 化。RocketMQ 一站式学习:https://rocketmq.io/

相关产品

  • 云消息队列 MQ
  • 相关电子书

    更多
    RocketMQ Client-GO 介绍 立即下载
    RocketMQ Prometheus Exporter 打造定制化 DevOps 平台 立即下载
    基于 RocketMQ Prometheus Exporter 打造定制化 DevOps 平台 立即下载