【问题标题】:Can we implement CRUD spring boot and postgresql with kafka我们可以用 kafka 实现 CRUD spring boot 和 postgresql
【发布时间】:2021-09-30 14:02:13
【问题描述】:

kafka 可以用 spring boot + postgresql 实现吗?是否有额外的过程,例如如果我们将数据插入数据库如何使用kafka?那么当从数据库调用数据时,我应该先放入kafka,然后get api只是从kafka而不是从数据库调用?使用 kafka 是否正确?

那么当用户调用save api时,我必须同时从数据库中检索它,以便kafka中的数据也被更新?

【问题讨论】:

  • 您可能需要在此处解释用例。申请的目的是什么?为什么要使用 Kafka?
  • 比如我们调用getCompanyDetail API的时候,kafka的流程就是我们会在API中创建一个topic,成为一个consumer,从API中获取response。这个过程可以做吗?

标签: postgresql spring-boot apache-kafka


【解决方案1】:

Kafka 消费将与任何数据库操作分开

您可以使用 Kafka Connect 框架,与任何 Spring 应用程序分开使用 Debezium 和/或 Confluent 的 JDBC 连接器的组合从 Postgres 向/从 Kafka 写入数据

Spring 应用中的操作可以根据您的需要使用 KafkaTemplate 或 JDBCTemplate

【讨论】:

  • 是否可以创建一个 getCompanyDetail api,其中流程是首先创建一个主题(包含公司 id),然后将其发送到主题,然后从消费者那里获得一个 api 的响应.谢谢
  • 理想情况下,您应该已经为您将产生或消费的任何事件预先创建了一个主题。话虽这么说,Spring webflux 应该能够做这样的事情,是的。不过,就像我说的那样,生产者之后的 Kafka Connect 通常比在您自己的代码中处理数据库操作更有用。然后获取公司的“消费者”API 是从数据库中读取,而不是从 Kafka 主题中读取
猜你喜欢
  • 2016-06-17
  • 2020-01-14
  • 1970-01-01
  • 2017-09-01
  • 2019-01-03
  • 1970-01-01
  • 2023-03-24
  • 1970-01-01
  • 2017-12-26
相关资源
最近更新 更多