我是Kafka的新手,我在理解我应该写一个生产者客户端还是一个连接器时遇到了一些问题。基本上,假设我有一个第三方RESTful API,我需要定期轮询,把数据放在Kafka中,然后使用Kafka sink连接器在一些转换后把它放在我的DB中。
现在,我的主要问题是:从第三方RESTful API获取数据:写一个自定义Kafka源连接器有意义吗?或者我应该写一个Kafka生产者客户端,定期轮询API,然后将数据发送给Kafka?我计划使用kafka-python为潜在的生产者客户端(和python代码一般)。还有:Kafka connect只是一个Java框架,所以我只能用Java写一个自定义连接器?
谢谢!
到目前为止,我还没有尝试过任何东西,因为我不确定从哪里开始。
Kafka connect只是一个Java框架,所以我只能在Java中编写自定义连接器?
是的(好吧,JVM框架,而不是"java")。例如Kotlin, Scala, Clojure等都可以工作)。
除此之外,完全取决于你。在Github上已经有几个项目有一些词kafka-connnect
+http
或rest
的组合…
或者,你可以看看其他ETL库,如CamelK, Apache NiFi, TalenD, Streamsets等,它们都提供基于定时器的功能,HTTP客户端和Kafka客户端(和数据库客户端)。