天天看点

SDK使用指南

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结果来确认数据是否写入成功

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

读取数据

消费方式
  • ​ 协同消费(推荐)
    • 协同消费同样支持自动分配shard消费数据
  • 使用SDK关联订阅消费DataHub数据
    • 适用情况:需要消费指定shard数据
注意事项
  • 一个shard只能被一个线程消费
  • 一个订阅创建后只需要初始化一次offset,多次初始化会生成新的session,无法提交点位