我使用Kafka流来处理实时数据,在Kafka流任务中,我需要访问MySQL来查询数据,并且需要调用其他静态服务。
所有操作都是同步的。
恐怕同步调用会降低流任务的处理能力。
这是一个好习惯吗?或有什么好主意吗?
答案 0 :(得分:2)
更好的方法是将您的MySQL表流式传输到Kafka中,然后在其中访问数据。这具有将流应用程序与MySQL数据库解耦的优势。如果您将来不再使用MySQL,只要仍将数据从后来居住的地方写入Kafka主题,您的流应用就不会受到影响。如果只是存储在MySQL中的配置,您甚至可以采用某些人使用Kafka作为数据的 primary 存储的模式(使用日志压缩,以永久保存它)。