5.2 数据验证说明
为了方便用户使用 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信息即可
运行Demo时请注意修改自己的TopicName,consumerGroupName以及clientPrefix,便于区分自己的client,方便问题tracking
运行TalosProducerDemo后,一共是put了7条消息,用户会得到如下的log,message id从0到6
运行TalosConsumerDemo后,一共是get了7条消息,用户会得到如下的log,message id从0到6