更新时间:2022-02-21 GMT+08:00
概述
DMS TCP SDK介绍
DMS TCP SDK提供基于TCP的接口,第三方应用程序直接使用DMS TCP SDK即可实现消息的生产、消费和确认。DMS提供如表1所示的接口供第三方应用调用,具体的接口请参见对应的接口参考。
接口名称 |
描述 |
接口类型 |
---|---|---|
生产消息 |
发送消息到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客户端开发流程

父主题: 普通队列开发指南