基于
Swoole框架
构建而成,支持高并发访问的日志收集系统
- 基于Swoole作为网关来承接用户的高并发日志请求,将日志消息跑送到
RabbitMQ消息队列
; - 避免了各个子系统,依次对接RabbitMQ的开发,便于消息统一的生产和消费管控;
- 基于多进程模式进行消息消费;
- 基于shell编写了相关日志服务的、worker进程的启停;
- 海淘系统的系统异常、错误信息日志的接收(基于socket构建连接发送消息);
- 针对投递过来的日志数据,按照站点、日志类型、级别分类写入MQ中;
- 消费者部分,依据站点、日志类型,进行分类消费;
- 针对应用日志进行存储记录;
- 针对错误日志的消费,进行处理和转发到RMS系统(消息派送);
- PHP7.1;
- Swoole扩展安装;
- RabbitMq服务的部署,处理消息的发布和消费;
- Composer包管理工具,安装RabbitMQ的PHP相关扩展;
- 日志落地,相关日志数据入到Elasticsearch搜索服务中,方面ELK对接以及相关日志查询;
- 日志产生系统,连接池的引入,增加跑送效率;
- 采用静态语言,诸如C、GO进行重构,替换掉Swoole;