【问题标题】:Subscribing a rest api to kafka events为kafka事件订阅一个rest api
【发布时间】:2023-03-07 16:37:01
【问题描述】:

我最近开始为我的一个项目使用 Kafka。

我正在尝试弄清楚如何将休息 API 订阅到 Kafka 事件,而不是运行一个持续收听主题的消费者。

我遇到了 Kafka 连接,但不知道具体如何实现。

详细信息:我正在以生产者的身份运行一个 spring-boot 项目,它使用 spring 提供的 KafkaTemplate 来发布消息。此外,消费者是一个暴露了其他 API 的 Spring Boot 项目。

【问题讨论】:

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


    【解决方案1】:

    除了使用 Kafka 消费者库让数据来自 Kafka 之外,别无他法。 Kafka Connect 也会这样做。

    RESTful 服务是无状态的。拥有消费者更有状态(例如偏移维护)。

    如果您想要流式传输事件,也许您可​​以改用 WebSockets 或 gRPC。

    【讨论】:

    • 我更多地考虑改变 sinkConnector 以便从 kafka 服务器接收数据,然后将其发送到相应的 API。这可以实现吗?如果是,我该如何开始?
    • 更改哪个接收器连接器? SinkConnector 类只是一个接口,所以如果你想从某个地方开始,那就从实现它开始。
    • 或者您可以使用现有的 - 请参阅此处的示例配置 github.com/llofberg/kafka-connect-rest/blob/master/examples/…,但如果可能,最好将 Kafka 消费者包含在 API 中。否则,您将通过对每个 Kafka 事件的持续请求来抨击您的 HTTP API。我的观点是,从 Kafka 消费的开销比 HTTP 网络流量要少
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多