5.1 Step-By-Step
这个章节是针对Demo程序做一些更详细的说明,请用户对照Demo的示例程序阅读下面的说明
Prerequisite
到小米生态云查看用户管理页面,可看到所属用户组。点击用户组标签,查看该用户组的用户密钥:一组accessKey和accessSecret
在项目的pom中加入Talos SDK的依赖,坐标如下:
<groupId>com.xiaomi.infra.galaxy</groupId> <artifactId>galaxy-talos-sdk</artifactId> <version>2.1.6</version>
使用TalosProducer
配置server地址:使用配置文件构造TalosProducerConfig,并配置Talos的service uri,我们提供http和https,具体URI见[集群信息];很多配置是可Configurable的,用户可以根据后续的说明针对自己业务数据的情况进行配置。
构造Credential:使用生态云提供的accessKey和accessSecret构造合法的Credential,只有合法的Credential才能被Authentication success
获取TopicTalosResourceName:创建/获取要写入数据的Topic,前面提到,数据的读写都需要TopicTalosResourceName这个唯一标识,对应于Demo中的createOrGetTopic()函数,使用TalosAdmin的describeTopic接口,目的是获得TopicTalosResourceName。
实现UserMessageCallback接口:实现这个接口,处理消息成功发送与失败,请注意,一般来讲producer声明为static,在回调的onError函数中使用它retry发送失败的消息
发送数据:实例化TalosProducer,调用发送消息接口 addUserMessage(List messageList)
使用TalosConsumer
同Producer 1/2/3 step:与TalosProducer一样,先配置server地址,构造合法的Credential,并获取TopicTalosResourceName;这里要注意的是,consumer只使用describeTopic接口获取Topic信息,而producer中会捕获异常,考虑到Topic不存在,producer会去创建这个Topic;对于consumer,如果Topic不存在,就不需要创建了,无法消费数据直接退出;
实现MessageProcessor和MessageProcessorFactory接口:实现这个接口,处理从server读取的数据
读取数据:实例化TalosConsumer就可以了,它会自动读取数据,并处理rebalance和记录offset等事情
使用TalosAdmin
同Producer 1/2/3 step:配置server地址,构造Credential;
操作Topic:createTopic/describeTopic 接口使用的是topicName,其他的接口像changeTopicAttribute/deleteTopic/addPartitionNumber等都使用topicTalosResourceName