Xiaomi Galaxy Talos Book

Demo数据验证说明


为了方便用户使用 Talos Demo 验证数据的正确性,在此对一些需要注意的点进行解释说明;

模型说明
  • Talos 处理的数据是, 不是文件

有时候,用户会把Talos当做文件来使用,期望"写入了7条数据",任何时候就要读取7条数据出来,请注意Talos是一个流的概念,不要把它当做文件来使用

1) 写入了X条数据,读取X条数据可能会有延迟(这个延迟不会很大,在ms级别),但不是任何时候都能读取出来X条

2) 用户写入了X条请确认X条数据是全部写入成功,这个Demo中在Producer的Callback中有所体现;使用TalosProducer时,由于它在本地是有buffer的,数据可能缓存在buffer中而没有发出去就被用户终止了程序,如Demo所示,请使用TalosProducer的shutdown函数,这样producer会等待buffer中所有数据发送完毕再停止程序;

3) 用户期望读取X条没问题,但不是任何时候重启Consumer都能读取X条,默认是从LastCommitOffset读取的,当然Talos也支持用户每次重启Consumer从StartOffset开始读取,这方面具体请参阅数据模型图解以及TalosConsumer配置说明

运行Demo进行数据验证
  • 运行Demo,就可以进行数据验证,请用户结合代码来配置相应的URL和Credential信息即可

  • 使用TalosAdmin创建Topic时,Credential中'.setSecretKeyId(accountKeyId)'使用的是 'AccountKey',而'.setSecretKey(accountSecret)'使用的是 'AccountSecret',请用户注意

  • 使用TalosProducer和TalosConsumer配置Credential时,'.setSecretKeyId(appKeyId)'使用的是 'AppKey', '.setSecretKey(appKeySecret)'使用的是 'AppSecret';

  • 运行Demo时请注意修改自己的TopicName,consumerGroupName以及clientPrefix,便于区分自己的client,方便问题tracking

  • 运行TalosProducerDemo后,一共是put了7条消息,用户会得到如下的log,message id从0到6

    data check

  • 运行TalosConsumerDemo后,一共是get了7条消息,用户会得到如下的log,message id从0到6

    data check