我正在从事一个小的学术项目-事件采购,与EventStoreDB和Apache作为经纪人。其想法是从EventStoreDB获取事件,并将其推送给卡夫卡以供进一步分发。我看到Apache与不同的DB系统有连接,但是没有找到任何与EvenStoreDB的连接。我如何创建(代码或使用现有的)卡夫卡连接器到EventStoreDB,这样这两个系统将能够传递事件-反之亦然,从卡夫卡到EventStoreDB和从EventStoreDB到卡夫卡?
发布于 2021-12-14 07:36:34
卡夫卡和EventStoreDB之间没有正式的卡夫卡连接连接,到目前为止我还没有听说过任何非正式的连接。不过,还有一个叫做复制器的工具,可以将数据从EventStoreDB复制到Kafka (https://replicator.eventstore.org/docs/features/sinks/kafka/)。它是开源的,所以您可以使用它或者检查实现。
对于EventStoreDB到Kafka,我建议使用订阅机制:如果您需要订购保证,则使用追赶;如果排序不重要,则使用持久性:https://developers.eventstore.com/clients/grpc/subscriptions.html。这里的关键部分是定义如何将EventStoreDB流映射到Kafka主题和分区。通常,您希望至少在流级别上有一个排序保证,因此单个流事件应该落在同一个分区上。
对于Kafka到EventStoreDB集成,您可以编写自己的传递服务,也可以尝试使用HTTP接收器连接器(例如https://docs.confluent.io/kafka-connect-http/current/overview.html)。EventStoreDB公开HTTP (https://developers.eventstore.com/clients/http-api/v5/introduction/)。Sidenote,这个API (基于Atom发布的API )将来可能会被另一个HTTP所取代,因此结构可能会发生变化。
发布于 2021-12-14 09:15:51
https://stackoverflow.com/questions/70342984
复制相似问题