mssql与mysql数据同步的Kafka实验

2022-04-15 16:01:08
黄豆 UsualTool.com
编程思维/PHP 2179
loading

实验目的:
本文同时发表在csdn与im286.

高并发模式下,实现mssql与mysql数据同步,主:mysql 次:mssql,异步实现。

实验准备:
linux/win各1台,主linux,次win,安装mssql1份,mysql1份,表及字段设置一致。

实验步骤:
1.linux配置nginx,安装php7.4环境及composer

2.安装librdkafka

3.编译rdkafka,增加php扩展extension = rdkafka.so

2.安装ut
composer require usualtool/framework

3.nginx指向框架根目录,访问正常。

4.cd 根目录/vendor,安装kafka
composer require usualtool/ut-kafka

5.消费者开启监听
php usualtool kafka 127.0.0.1:9020 test

5.生产者(客户端)测试数据同步

require_once dirname(__FILE__).'/'.'autoload.php';
require_once UTF_ROOT.'/'.'vendor/autoload.php';
use usualtoolKafkaProducer;
$kafka = new Producer("127.0.0.1:9020","test");  
$data=array("data"=>"mssql","sql"=>"insert into users (sex) VALUES (0)")
$kafka->Send(json_encode($data));

6.消费者监听取得消息并入库
{"data":"mssql","sql":"insert into users (sex) VALUES (0)"}

实验结果:
通过Kafka同步数据(消息),无需额外等待响应,生产者将消息传达后,便继续进行自己的事情,当消费者监听到从生产者发出的数据消息后,此时进行消费,触发数据同步的操作。集群的方式可以进行更多操作。

实验结论:
可行。

+分享给朋友+
郑重提醒:部分素材来源于互联网,如果侵犯了您的权利,请及时联络我们更正,谢谢合作,电邮:usualtool@qq.com