首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kafka内部数据管理

Kafka内部数据管理
EN

Stack Overflow用户
提问于 2020-08-18 04:04:15
回答 1查看 20关注 0票数 0

有没有人能帮我理解一下下面的场景:

来自Topic A的流有一些不同的操作,这些操作会导致生成多个内部kafka主题,例如: KSTREAM-REDUCE-0000000014 KSTREAM-JOIN-0000000358等。

它们在拓扑中显示为"consumer-group-name-generated-name“

主题A加入主题B ...B必须更新键值才能与A加入内部主题"group-Re-KeyB“。

如果我的拓扑发生变化,那么除非所有这些内部主题的名称都相同,否则我需要更改我的使用者组名称,否则随机生成的KSTREAM-REDUCE-0000000014可能包含不同类型的对象。

如果我将新的消费者组的偏移量设置为与前一个消费者组最近提交的偏移量,我们将不会从头开始重放主题A或B。

这些内部主题会发生什么?例如,"group-Re-KeyB“是否拥有连接到A的所有数据,或者它只知道新的主题B记录??

EN

回答 1

Stack Overflow用户

发布于 2020-08-18 22:48:58

如果您更改了拓扑和名称更改,则新旧拓扑很可能不兼容,建议重置您的应用程序,并让新拓扑从头开始重新处理所有数据(以重建其所需的内部状态):https://docs.confluent.io/current/streams/developer-guide/app-reset-tool.html

作为替代,您可以为所有运算符指定显式名称(从Kafka Stream 2.4开始),例如,您可以使用Materialzed.as(...)来命名状态存储和相应的changelog主题。显式命名避免了内部主题的名称更改,因此,即使您更改了拓扑,也可以在不使用新application.id的情况下重新启动新拓扑,从而保留旧拓扑中的状态。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63457880

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档