我使用kafka streams来处理实时数据,在kafka streams任务中,我需要访问mysql来查询数据,并且需要调用另一个restful服务。所有操作都是同步的。恐怕sync调用会降低streams任务的处理能力。这是个好习惯吗?或者有什么好主意吗?
plupiseo1#
更好的方法是将mysql表流到kafka中,并访问那里的数据。这样做的好处是可以将streams应用程序与mysql数据库分离。如果您将来离开mysql,只要数据仍然从它随后居住的地方写入kafka主题,您的streams应用程序就不会受到影响。如果只是将配置存储在mysql中,甚至可以采用一些人使用kafka作为数据主存储的模式(使用日志压缩,将其永久保留)。
1条答案
按热度按时间plupiseo1#
更好的方法是将mysql表流到kafka中,并访问那里的数据。这样做的好处是可以将streams应用程序与mysql数据库分离。如果您将来离开mysql,只要数据仍然从它随后居住的地方写入kafka主题,您的streams应用程序就不会受到影响。如果只是将配置存储在mysql中,甚至可以采用一些人使用kafka作为数据主存储的模式(使用日志压缩,将其永久保留)。