如何在没有 Kafka Connect sink 的情况下将数据从 Kafka 获取到商店?
How to get data from Kafka into a store without Kafka Connect sink?
在阅读有关 Kafka 以及如何将数据从 Kafka 获取到适用于某些特定任务的可查询数据库时,通常会提到 Kafka Connect 接收器。
如果我需要 Kafka 来搜索索引(如 ElasticSearch)或分析(如 Hadoop to Spark)(其中有可用的 Kafka Connect 接收器),这听起来像是可行的方法。
但我的问题是,处理不像 MyImaginaryDB 这样受欢迎的商店的最佳方式是什么,我能到达它的唯一方式是通过一些 API,并且数据需要安全可靠地处理,以及在插入之前进行体面的改造?是否推荐:
- 只需让 API 从 Kafka 消费并使用 MyImaginaryDB 驱动程序写入
- 找出如何构建自定义 Kafka Connect 接收器(假设它可以处理模式、authentication/authorization、重试、容错、转换和 post-登陆 MyImaginaryDB 之前所需的处理)
我也一直在阅读有关 Kafka KSQL 和 Streams 的文章,我想知道这是否有助于在将数据发送到终端存储之前转换数据。
选项 2,当然可以。仅仅因为没有现有的源连接器,并不意味着 Kafka Connect 不适合您。如果您要编写一些代码 无论如何 ,连接到 Kafka Connect 框架仍然有意义。 Kafka Connect 处理所有常见的事情(模式、序列化、重新启动、偏移跟踪、横向扩展、并行性等),让您只需要实现将数据获取到 MyImaginaryDB
的位。
关于转换,标准模式是:
- 对轻量级内容使用单一消息转换
- 使用KafkaStreams/KSQL写回另一个主题,然后通过Kafka Connect路由到目标
如果您尝试构建自己的应用程序(转换 + 数据接收器),那么您就是在拼凑职责,并且您正在重新发明一大块已经存在的轮子(以可靠的可扩展方式与外部系统集成)方式)
您可能会发现这个演讲对于了解 Kafka Connect 可以做什么的背景很有用:http://rmoff.dev/ksldn19-kafka-connect
在阅读有关 Kafka 以及如何将数据从 Kafka 获取到适用于某些特定任务的可查询数据库时,通常会提到 Kafka Connect 接收器。
但我的问题是,处理不像 MyImaginaryDB 这样受欢迎的商店的最佳方式是什么,我能到达它的唯一方式是通过一些 API,并且数据需要安全可靠地处理,以及在插入之前进行体面的改造?是否推荐:
- 只需让 API 从 Kafka 消费并使用 MyImaginaryDB 驱动程序写入
- 找出如何构建自定义 Kafka Connect 接收器(假设它可以处理模式、authentication/authorization、重试、容错、转换和 post-登陆 MyImaginaryDB 之前所需的处理)
我也一直在阅读有关 Kafka KSQL 和 Streams 的文章,我想知道这是否有助于在将数据发送到终端存储之前转换数据。
选项 2,当然可以。仅仅因为没有现有的源连接器,并不意味着 Kafka Connect 不适合您。如果您要编写一些代码 无论如何 ,连接到 Kafka Connect 框架仍然有意义。 Kafka Connect 处理所有常见的事情(模式、序列化、重新启动、偏移跟踪、横向扩展、并行性等),让您只需要实现将数据获取到 MyImaginaryDB
的位。
关于转换,标准模式是:
- 对轻量级内容使用单一消息转换
- 使用KafkaStreams/KSQL写回另一个主题,然后通过Kafka Connect路由到目标
如果您尝试构建自己的应用程序(转换 + 数据接收器),那么您就是在拼凑职责,并且您正在重新发明一大块已经存在的轮子(以可靠的可扩展方式与外部系统集成)方式)
您可能会发现这个演讲对于了解 Kafka Connect 可以做什么的背景很有用:http://rmoff.dev/ksldn19-kafka-connect