php cli 单进程,死循环获取binlog数据,因为怕数据太多,消费能力跟不上,想着用workerman多个worker进程处理,但是多个worker进程存在的问题是有序性问题,同一张表的事件只能同时由一个worker进程处理,我目前的想法是缓存了几个缓存了几个socket链接,然后根据表名去走对应的socket链接发送消息,不确定这样子稳不稳定。function($worker)
{
// 将db实例存储在全局变量中(也可以存储在某类的静态成员中)
dbBase::getInstance()->init();
};
// 当客户端发来数据时$worker->onMessage = function($connection, $data)
{
echo $data.PHP_EOL;
//将mysql数据写入ES
// 向客户端发送事件中的数据库表名,找到对应的
$client = $this->getClientByEvent($event);
// 发送数据,注意5678端口是Text协议的端口