文档首页> > 开发指南> 普通队列开发指南> 概述

概述

分享
更新时间: 2019/05/07 18:09

DMS TCP SDK介绍

DMS TCP SDK提供基于TCP的接口,第三方应用程序直接使用DMS TCP SDK即可实现消息的生产、消费和确认。DMS提供如表1所示的接口供第三方应用调用,具体的接口请参见对应的接口参考。

表1 DMS TCP SDK接口

接口名称

描述

接口类型

生产消息

发送消息到DMS。

同步、异步、oneway

消费消息

从DMS中读取消息。

同步、异步

确认消息

确认读取消息成功。

同步、异步

说明:
  • 异步接口和oneway接口,如果调用完接口,进程立即退出,有可能会导致消息数据发送不完全。
  • 使用oneway接口时,客户端不接受服务端的响应,包括错误信息。
  • DMS不保证只投递一次的生产模型,如果提示执行失败,极小的概率下实际上是生产成功的。DMS提供“至少一次”的消息交付功能,因此,消费端需要保证消息消费的幂等性。

功能介绍

  • 消息重投:

    DMS TCP SDK支持消息重投,当消费消息异常时,确认消费设置为“重投”,服务端会将消息标记为已消费,并且转存到重投Topic中,用户可以继续往后消费。重投消息延迟至少30秒后才能再次被消费出来,再次消费确认时,依然可以设置为“成功”、“失败”或“重投”。

  • 广播消息:

    同一个消费组的所有消费者都可以消费相同的消息。

    可以设置是否自动确认,设置为true时,不需要手动提交确认消费。

    在消费消息时,可以设置如下消费模式:

    • 组播:消费成功后,该消费组的其他消费者无法再消费。
    • 广播,从最早一条开始:从队列中第一条消息开始,该消费组的每个消费者都可以消费队列中的所有消息。
    • 广播,从已消费的位置开始:当设置固定Consumer id时,可以从当前的消费位置开始,该消费组的每个消费者都可以消费队列中所有未消费的消息。
    • 广播,从最新一条开始:从队列中最新的一条消息开始,该消费组的每个消费者都可以消费之后生产的消息。
  • DMS TCP SDK一般可达到几千TPS(即每秒可处理的消息数),如果需要上万甚至10万TPS,请单独提交工单或联系客服进行特殊处理。

开发流程

本示例以Java语言进行DMS TCP SDK的二次集成开发。

DMS客户端开发流程如下:

图1 DMS客户端开发流程
如果您喜欢这篇文档,您还可以:

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区