【问题标题】:Kafka connect with Cassandra databaseKafka 连接 Cassandra 数据库
【发布时间】:2017-08-05 17:03:29
【问题描述】:

我将 Kafka 用于多种用途,但我想使用 Kafka 的连接 API,但我无法理解为什么使用 Kafka 连接而不是编写我们自己的消费者组并将消息写入任何不同之处数据库,无需编写复杂的东西,也无需像 Kafka-connect 中的 confluent 那样添加其他包。

【问题讨论】:

    标签: java cassandra apache-kafka kafka-consumer-api apache-kafka-connect


    【解决方案1】:

    Connect 作为框架负责故障转移,您还可以在分布式模式下运行它以扩展您的数据导入/导出“作业”。因此,Connect 确实是一种“一劳永逸”的体验。此外,对于 Connect,您无需编写任何代码——您只需配置连接器即可。

    如果您手动构建它,您基本上解决了 Connect 已经解决的问题(即,重新发明轮子)。不要低估这项任务的复杂性——表面上听起来很简单,但实际上它更复杂。

    【讨论】:

    • 使用连接器类的一个主要问题是异常处理。如果 json 数据与所需格式不匹配,则连接器会给出异常,例如“错误任务正在被终止,并且在手动重新启动之前不会恢复”
    【解决方案2】:

    Kafka Connect 为想要将数据移入和移出 Apache Kafka 的用户和开发人员提供了一个有用的抽象。

    用户可以从不断增长的collection of existing Connectors 中选择一个连接器,只需提交适当的配置,即可快速有效地将他们的数据与 Kafka 集成。开发人员可以为他们的特殊用例实现一个连接器,而不必担心生产者和消费者集群的低级别管理以及如何使这样的集群扩展(正如 Matthias 已经提到的)。

    与软件经常发生的情况一样,如果某个特定的软件抽象不能满足您的需求,您可能必须降低一个或多个抽象级别并使用较低级别的结构来编写代码。在我们的例子中,这些是 Kafka 生产者和消费者,它们仍然是一个非常健壮且易于使用的抽象,用于将数据移入和移出 Kafka。

    现在进入您所指的具体点,这就是在 Kafka Connect 中通常称为处理不良或不兼容数据的内容,目前这主要是连接器开发人员的责任。但是,我们打算为框架提供方法来促进对不良数据的此类处理,并使其更多地成为配置问题,而不是连接器实现。这是在不久的将来的路线图。

    【讨论】:

      猜你喜欢
      • 2017-08-03
      • 2021-10-12
      • 2017-02-21
      • 2017-06-16
      • 2018-02-14
      • 2021-03-22
      • 2018-03-01
      • 2018-07-29
      • 1970-01-01
      相关资源
      最近更新 更多