总览

DataProxy 支持多种格式的数据的识别,用户既可以按照 DataProxy 可识别的格式(如六段协议、数字化协议等)自定义组装数据发送。 也可以,采用 DataProxy 提供的 SDK 进行数据接入。

DataProxy SDK 提供负载均衡、动态更新 proxy 列表等安全特性,能够保证接入数据的可靠性,简化用户的接入逻辑,降低用户的接入难度,这里建议使用 SDK 方式接入。

功能说明

功能详细描述
组包功能(新)将用户数据按打包发送到 DataProxy 可识别的组包格式(如六段协议、数字化协议等)打包发送到 DataProxy
压缩功能发送打包发送到 DataProxy 前,将用户数据进行压缩,减少网络带宽占用
维护 DataProxy 列表每隔五分钟获取打包发送到DataProxy列表 ,以检测运维侧是否存在上下线 DataProxy 机器的情况;每隔20s自动剔除不可用连接,以保证已连接的 DataProxy 能正常运作
指标统计(新)增加业务分钟级别发送量的指标(接口级)
负载均衡(新)使用新的策略将发送的数据在多个 DataProxy 间进行负载均衡,不再依靠简单的随机+轮询机制来保证
DataProxy 列表持久化(新)根据业务id对 DataProxy 列表持久化,防止程序启动时配置中心发生故障无法发送数据

数据发送

同步批量函数

  1. public SendResult sendMessage(List<byte[]> bodyList, String groupId, String streamId, long dt, long timeout, TimeUnit timeUnit)
  2. 参数说明
  3. bodyList 是用户需要发送的多条数据的集合,总长度建议小于512kgroupId 代表业务 idstreamId 代表接口iddt 表示该数据的时间戳,精确到毫秒级别。也可直接设置为0,此时api会后台获取当前时间作为其时间戳。timeout & timeUnit:这两个参数是设置发送数据的超时时间,一般建议设置成20s

同步单条函数

  1. public SendResult sendMessage(byte[] body, String groupId, String streamId, long dt, long timeout, TimeUnit timeUnit)
  2. 参数说明
  3. body是用户要发送的单条数据内容,其余各参数涵义基本与批量发送接口一致。

异步批量函数

  1. public void asyncSendMessage(SendMessageCallback callback, List<byte[]> bodyList, String groupId, String streamId, long dt, long timeout,TimeUnit timeUnit)
  2. 参数说明
  3. SendMessageCallback 是处理消息的 callbackbodyList 为用户需要发送的多条数据的集合,多条数据的总长度建议小于512kgroupId 是业务 idstreamId 是接口 iddt 表示该数据的时间戳,精确到毫秒级别。也可直接设置为0,此时 api 会后台获取当前时间作为其时间戳。timeout timeUnit 是发送数据的超时时间,一般建议设置成 20s

异步单条函数

  1. public void asyncSendMessage(SendMessageCallback callback, byte[] body, String groupId, String streamId, long dt, long timeout, TimeUnit timeUnit)
  2. 参数说明
  3. body 为单条消息内容,其余各参数涵义基本与批量发送接口一致