Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 架构建议:如何实时听取数据库更改?_Mysql_Apache Kafka - Fatal编程技术网

Mysql 架构建议:如何实时听取数据库更改?

Mysql 架构建议:如何实时听取数据库更改?,mysql,apache-kafka,Mysql,Apache Kafka,我正在尝试开发一个系统,当一个新条目到达中央数据库(MySQL)时,会存储一些预测/估计结果。我有多个微服务写入该数据库,在那里我修补了我的代码,将记录推入卡夫卡,卡夫卡的消费者正在估计结果并将结果推回到数据库 我的问题是: 多个微服务是用Node或Python编写的,所以我需要用这两种语言编写逻辑 随着代码在多个地方的注入,维护成为一个问题 潜在解决方案 1.创建另一个微服务,成为卡夫卡的制作人 我们能有更完善的管理系统吗 您可能需要检查更改数据管理。您可以使用Debezium实用程序来侦听数

我正在尝试开发一个系统,当一个新条目到达中央数据库(MySQL)时,会存储一些预测/估计结果。我有多个微服务写入该数据库,在那里我修补了我的代码,将记录推入卡夫卡,卡夫卡的消费者正在估计结果并将结果推回到数据库

我的问题是:

  • 多个微服务是用Node或Python编写的,所以我需要用这两种语言编写逻辑
  • 随着代码在多个地方的注入,维护成为一个问题
  • 潜在解决方案 1.创建另一个微服务,成为卡夫卡的制作人


    我们能有更完善的管理系统吗

    您可能需要检查
    更改数据管理
    。您可以使用
    Debezium
    实用程序来侦听数据库中发生的事件,并将它们推送到您的卡夫卡主题

    工作流程可概括为:

  • 记录到达数据库
  • 事务日志由数据库编写
  • Debezium连接器跟踪日志,并通过Kafka connect将更改推送到Kafka
  • 您现在可以订阅卡夫卡主题并在记录上进行评估
  • 收益:

  • 即使您的Debezium将关闭,当它出现时,它将给出停机期间发生的所有更改。从这个意义上讲,它将是容错的
  • 您将听到的是集中化数据库,而不是从多个服务推送。这使得真理的单一来源原则成为可能