一个交易账号(账号进程)对应一个自定义进程,账号进程与交易所建立两个websocket长链接,接收信息实时计算、发送交易指令;
账号进程内繁重的任务通过队列投递到消费者进程异步处理,如数据库写入、调用RestApi、微信通知等;
# 性能
每个交易进程每秒实时处理1500+的行情数据;
# 技术栈
- PHP多进程
- Linux事件EPoll非阻塞IO
- 毫秒定时器
- 异步Socket| monolog/monolog | 2.9.1 |
| 命令行 | webman/console | 1.2.33 |
| 事件| webman/event | 1.0.4 |
| 定时任务 | workerman/crontab | 1.0.6 |
| 数据库消息队列 | workerman/redis-queue | 1.1.0 |
| Redis | illuminate/redis | 8.83.27 |
| 数据库事件