-
Notifications
You must be signed in to change notification settings - Fork 229
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Kafka 实现实时读 #344
Comments
kafka 中 一个topic 中可以 存多个表的同步信息吗?在Apache Kafka中,一个topic主要用于存储一类特定的消息。对于数据库表的同步信息来说,理论上你可以在一个topic中存储多个表的变更数据,但这不是最佳实践。 通常情况下,为了保持消息的清晰性和系统的可维护性,每个数据库表的变更数据应该使用独立的Kafka topic。这样做有几个好处:
然而,如果你确实需要将多个表的变更合并到一个topic中,你可以通过消息格式设计来实现这一点,比如在每条消息中包含一个字段来标识是哪个表的变更。但是,这种做法可能会使你的系统更加复杂,并且难以管理和扩展。 总之,虽然技术上可行,但最好为每个表创建单独的Kafka topic用于数据同步。 一个topic 只存放一个表的增量同步内容,每个topic 的消费速度不同,数据库中一次事务执行会涉及到多个表的更新,下游监听kafka增量消息会,收到增量消息可能与实务执行的前后顺序错乱您提到的问题是分布式系统中常见的挑战之一,尤其是在处理跨多个Kafka topic的事务性保证时。当一个事务涉及到多个表(因此是多个Kafka topic)的更新时,下游消费者可能会接收到顺序错乱的消息,这是因为每个topic的消费速度不同,以及消息在网络中的传输延迟可能不同。 为了解决这个问题,可以考虑以下几种策略:
选择哪种方法取决于您的具体需求、现有架构以及愿意接受的复杂度。如果可能的话,利用Kafka自带的事务特性通常是较为推荐的做法,因为它能减少额外开发工作的需要,并且更加可靠。同时,确保您的CDC工具配置正确,以尽量减少顺序混乱的风险。 |
kafka 文本传输format支持种类:
以上三种协议都是基于json文本传输的,在配置时有几个共通配置项:
|
Kafka 实现实时读,需要支持以下两种执行方式:
已经实现了一个Kafka Sink :#179
The text was updated successfully, but these errors were encountered: