sdk怎么用(SDK使用指南分享)
爱跨境 跨境电商 2022-06-14 11:00:59 · 热度999

Data使用指南

参数设置

shard数量设置

Shard表示对一个Topic进行数据传输的并发通道,每个Shard启用以后会占用一定的服务端资源,建议按需申请Shard数量

​ shard数量评估指标

  • ​ QPS:当shard写入QPS 限制为2000次/s
  • ​ Throughput:单shard每秒吞吐量最大为 5M/S

Topic生命周期设置

​ 生命周期代表数据有效期,DataHub Topic数据超过有效期则失效,无法消费

​ 有效期单位为天,范围为1-7天,可通过管控台页面修改数据有效期

SDK规范

​ 主要说明DataHub 读写代码编写规范

写入数据

接口选择

​ 针对服务端版本>=2.12的,推荐使用putRecordsByShard接口写入数据,putRecordsByShard接口写入失败会直接抛出异常来告知用户

​ 针对服务端版本<2.12的,只能使用putRecords接口,用户需要判断PutRecordsResult结果来确认数据是否写入成功

写入方式

  • ​ 协同消费写入数据(建议使用)协同消费主要解决的是shard分配问题,使用协同消费能够自动分配shard,协同消费文档:https://help.aliyun.com/document_detail/158834.html?spm=a2c4g.11186623.6.588.5eb6217dBdqKVg
  • 使用SDK自定义写入适用情况:需要将数据写入指定shard,请使用putRecordsByShard接口

其他

  • batch写入,减少资源请求消耗DataHub单shard写入QPS 限制为2000次/s,每次batch请求量为4M,请根据数据大小选择合适的批量写入条数,提高写入效率
  • 重试机制为了增强程序健壮性,有必要对写入数据增加重试机制,避免由于网络、升级等其他原因造成的短暂不可用部分可重试错误:例如server busy,server unavailable等,因此建议遇到DatahubClientException和LimitExceededException时,可以在代码逻辑中添加重试逻辑,但应严格限制重试次数。

读取数据

消费方式

  • ​ 协同消费(推荐)协同消费同样支持自动分配shard消费数据
  • 使用SDK关联订阅消费DataHub数据适用情况:需要消费指定shard数据

注意事项

  • 一个shard只能被一个线程消费
  • 一个订阅创建后只需要初始化一次offset,多次初始化会生成新的session,无法提交点位