我需要了解何时使用Kafka连接与自己的消费者/生产者编写的开发人员。我们正在汇合平台上。为了实现容错设计,我们是否必须从所有代理运行消费者/生产者代码(jar文件)?
2w3kk1z51#
我们是否必须从所有代理运行消费者/生产者代码(jar文件)?不要在代理上运行客户端代码。为代理进程保留所有内存和磁盘访问。何时使用kafka connect与自己的消费者/产品根据我的经验,这些因素应该考虑在内不管怎样,您计划部署和监视kafka connect,并且有可用的资源来执行此操作。再说一次,它们不会在代理机器上运行您不打算经常更改连接器代码,因为您必须重新启动整个连接器jvm,它将运行其他不需要重新启动的连接器您不能将自己的生产者/消费者代码集成到现有的应用程序中,或者只是希望有一个更简单的生产者/消费者循环最好将结构化数据不绑定到特定的二进制格式编写您自己的或使用社区连接器是经过良好测试和配置的,适合您的用例与原始生产者/消费者api相比,connect的容错选项有限,缺点是代码更多,具体取决于所使用的其他库注意:confluent平台仍然是ApacheKafka
1hdlvixo2#
kafka-connect:kafka-connect是一个开源平台,基本上包含两种类型:sink和source。kafka connect用于从数据库向kafka获取数据或将数据放入数据库。Kafka连接有助于使用Kafka的各种其他系统。它也有助于跟踪从db到kafka的变化(如其中一个答案ChangedDataCapture(cdc))中所述。系统维护偏移量,以便将数据从特定偏移量读/写到kafka或任何其他数据库。有关详细信息,请参阅https://docs.confluent.io/current/connect/index.html生产者/消费者:生产者和消费者只是一个终端系统,他们利用Kafka来生产和消费与Kafka有关的主题。它们用于我们希望向消费者组中的不同消费者广播数据的地方。这种系统还为消费群体维护数据的滞后和偏移。不,运行kafka connect时不需要运行任何生产者/消费者。如果要检查是否存在数据丢失,可以在运行源连接器时运行使用者。对于sink连接器,可以通过运行特定的select查询在数据库中验证已经生成的数据。
zwghvu4y3#
Kafka连接通常用于将外部源连接到Kafka,即从Kafka生产/消费外部源。任何你能用连接器做的事情都可以通过生产者+消费者来完成现成的连接器只会简化外部源到kafka的连接,而不需要开发人员编写底层代码。要记住的几点。。如果源和接收器都是同一个kafka集群,那么连接器就没有意义了如果要从数据库执行更改数据捕获(cdc)并将其推送到kafka,则可以使用数据库源连接器。资源限制:Kafka连接是一个单独的过程。因此,请仔细检查您可以在资源和开发易用性之间进行哪些权衡。如果你正在写你自己的连接器,它是好的,除非有人还没有写它。如果您使用的是第三方连接器,则需要检查它们的维护情况和/或是否提供支持。
3条答案
按热度按时间2w3kk1z51#
我们是否必须从所有代理运行消费者/生产者代码(jar文件)?
不要在代理上运行客户端代码。为代理进程保留所有内存和磁盘访问。
何时使用kafka connect与自己的消费者/产品
根据我的经验,这些因素应该考虑在内
不管怎样,您计划部署和监视kafka connect,并且有可用的资源来执行此操作。再说一次,它们不会在代理机器上运行
您不打算经常更改连接器代码,因为您必须重新启动整个连接器jvm,它将运行其他不需要重新启动的连接器
您不能将自己的生产者/消费者代码集成到现有的应用程序中,或者只是希望有一个更简单的生产者/消费者循环
最好将结构化数据不绑定到特定的二进制格式
编写您自己的或使用社区连接器是经过良好测试和配置的,适合您的用例
与原始生产者/消费者api相比,connect的容错选项有限,缺点是代码更多,具体取决于所使用的其他库
注意:confluent平台仍然是ApacheKafka
1hdlvixo2#
kafka-connect:kafka-connect是一个开源平台,基本上包含两种类型:sink和source。kafka connect用于从数据库向kafka获取数据或将数据放入数据库。Kafka连接有助于使用Kafka的各种其他系统。它也有助于跟踪从db到kafka的变化(如其中一个答案ChangedDataCapture(cdc))中所述。系统维护偏移量,以便将数据从特定偏移量读/写到kafka或任何其他数据库。
有关详细信息,请参阅https://docs.confluent.io/current/connect/index.html
生产者/消费者:
生产者和消费者只是一个终端系统,他们利用Kafka来生产和消费与Kafka有关的主题。它们用于我们希望向消费者组中的不同消费者广播数据的地方。这种系统还为消费群体维护数据的滞后和偏移。
不,运行kafka connect时不需要运行任何生产者/消费者。如果要检查是否存在数据丢失,可以在运行源连接器时运行使用者。对于sink连接器,可以通过运行特定的select查询在数据库中验证已经生成的数据。
zwghvu4y3#
Kafka连接通常用于将外部源连接到Kafka,即从Kafka生产/消费外部源。
任何你能用连接器做的事情都可以通过生产者+消费者来完成
现成的连接器只会简化外部源到kafka的连接,而不需要开发人员编写底层代码。
要记住的几点。。
如果源和接收器都是同一个kafka集群,那么连接器就没有意义了
如果要从数据库执行更改数据捕获(cdc)并将其推送到kafka,则可以使用数据库源连接器。
资源限制:Kafka连接是一个单独的过程。因此,请仔细检查您可以在资源和开发易用性之间进行哪些权衡。
如果你正在写你自己的连接器,它是好的,除非有人还没有写它。如果您使用的是第三方连接器,则需要检查它们的维护情况和/或是否提供支持。