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