创建消费组
您可以在华为云LTS控制台为日志流创建消费组,使用集成云日志服务Java SDK通过消费组消费数据。您无需关注SDK的实现细节以及消费者之间的负载均衡等,只需要关注业务逻辑。
云日志服务通过消费组消费数据,使用消费组功能之前,您需要了解以下基本概念。
目前此功能在邀测中,暂不支持申请开通。
概念 |
说明 |
---|---|
消费组 |
|
消费者 |
消费组的基本构成单元,承担消费任务,可以根据您的服务自行决定消费者数量。 |
Shard |
云日志服务将数据必定保存在某一个Shard中,是数据存储的基本单元。 |
CheckPoint |
消费点位,是消费者消费到的最新位置。程序重启后,SDK会自动通过CheckPoint恢复上次的消费进度。 |
消费逻辑
一个日志流包含多个Shard,通过消费组消费数据就是将Shard分配给消费组的消费者,分配规则如下:
- 在消费过程中,一个Shard只会分配给一个消费者
- 在消费过程中,一个消费者可以消费多个Shard
当消费组新增/减少消费者,或者日志流的Shard数量增加时,这个时候消费组的Shard会重新分配给当前的消费者,以实现消费者的负载均衡。分配规则不变如上。
创建消费组
- 登录云日志服务控制台。
- 单击日志组名称对应的按钮。
- 单击日志流名称进入日志流详情页面,单击右上角,在弹出页面中,选择“日志消费”页签。
- 单击新建消费组,填写消费组名称,单击“确定”。
- (可选)当某个消费组,消费到一定位置时,如果想重头或者指定一个时间继续进行消费,支持重置消费位点。
单击重置消费点位,支持设置最早位置和指定时间点,需要重启SDK后,重置消费位点才能生效。
- 最早位置:从头开始一直拉取到当前最新时间的日志。
- 指定时间点:从指定的时间点一直拉取到当前最新时间的日志。
- 消费期间重置消费位点,会导致消费日志紊乱,建议停止消费后再重置消费位点。