代码之家  ›  专栏  ›  技术社区  ›  atkayla

如何在没有Kafka Connect接收器的情况下将数据从Kafka导入商店?

  •  0
  • atkayla  · 技术社区  · 7 年前

    当阅读有关卡夫卡以及如何将数据从卡夫卡获取到适合某些特定任务的可查询数据库时,通常会提到卡夫卡连接接收器。 enter image description here 如果我需要Kafka来搜索索引(如ElasticSearch)或分析(如Hadoop)来激发Kafka Connect接收器的可用性,这听起来是一个不错的选择。

    但我的问题是,处理一个不像MyImageAryDB这样受欢迎的存储的最佳方式是什么?在MyImageAryDB中,我只能通过一些API访问它,数据需要安全可靠地处理,并在插入之前进行适当的转换?建议:

    1. 只需使用Kafka提供的API,并使用MyImageAryDB驱动程序编写
    2. 了解如何构建自定义Kafka Connect接收器(假设它可以处理模式、身份验证/授权、重试、容错、转换和登录MyImaginaryDB之前所需的后处理)

    我也一直在阅读关于Kafka KSQL和Streams的文章,我想知道这是否有助于在数据发送到终端存储之前转换数据。

    0 回复  |  直到 7 年前
        1
  •  1
  •   Robin Moffatt    7 年前

    选择2,当然。仅仅因为没有现有的源连接器,并不意味着Kafka Connect不适合你。如果你要写一些代码 无论如何 ,它仍然可以连接到卡夫卡连接框架。Kafka Connect处理所有常见的事情(模式、序列化、重新启动、偏移跟踪、扩展、并行等),让您只需实现将数据传输到 MyImaginaryDB .

    关于转换,标准模式是:

    • 对轻量级的东西使用单一消息转换
    • 使用Kafka Streams/KSQL并写回另一个主题,然后通过Kafka Connect路由到目标

    如果你试图构建自己的应用程序(转换+数据接收器),那么你就是在分担责任,你是在重塑已经存在的一大块轮子(以可靠的可扩展方式与外部系统集成)

    你可能会发现这篇演讲对了解卡夫卡连接的功能非常有用: http://rmoff.dev/ksldn19-kafka-connect

    推荐文章