[发明专利]一种基于Swoole框架和Yaf框架的消息处理方法和装置在审
申请号: | 201811512000.4 | 申请日: | 2018-12-11 |
公开(公告)号: | CN111314397A | 公开(公告)日: | 2020-06-19 |
发明(设计)人: | 张歆明;李金戈;闫绍华 | 申请(专利权)人: | 北京奇虎科技有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L29/06 |
代理公司: | 北京智汇东方知识产权代理事务所(普通合伙) 11391 | 代理人: | 康正德;陈智勇 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 swoole 框架 yaf 消息 处理 方法 装置 | ||
本发明提供了一种基于Swoole框架和Yaf框架的消息处理方法和装置。该方法包括:接收客户端发送的请求消息;将所述请求消息分配至Swoole框架的消息处理进程;利用所述消息处理进程调用Yaf框架对所述请求消息进行处理,并接收Yaf框架返回的处理结果;将所述处理结果返回给所述客户端。本发明实施例提供的方法通过结合利用Swoole框架和Yaf框架进行消息处理,既可以重复利用Swoole框架的高并发机制,又能利用Yaf框架的规范化、流程化的消息路由以及异常处理机制,极大地加快了高并发下的消息处理速度,显著地提升了高并发下处理性能。
技术领域
本发明涉及通信技术领域,特别是一种基于Swoole框架和Yaf框架的消息处理方法、基于Swoole框架和Yaf框架的消息处理装置、计算机存储介质以及计算设备。
背景技术
现有的服务端的高并发模型通常采用Nginx+php-fpm。Nginx通过反向代理功能将动态请求转向后端php-fpm。php-fpm(FastCGI Process Manager,FastCGI进程管理器)是FastCGI的实现,并提供了进程管理的功能,其进程包含Master进程和Worker进程,其中Master进程只有一个,负责监听端口,并接收来自web服务器的请求,而Worker进程则有多个,用于真正执行php代码,从而实现多进程高并发机制。然而,Nginx+php-fpm框架没有IO多路复用模型,性能存在瓶颈:其一,当php进程过多时,会导致系统进程调度频繁,影响整个系统的性能;其二,当php进程过多时,会导致和数据库DB的长连接太多,影响整个系统的性能。
为了提升高并发处理效率,现有技术中通过IO多路复用模型来实现。实现IO多路复用模型的方法有多种。对于php语言环境,可以采用Swoole框架;对于Linux环境,可以直接采用epoll;对于Go语言环境,则可以采用Go协程。Swoole高并发框架以CPU内核数为基础,基本在10-20个进程左右,利用epoll的高并发机制,其整体性能压测(包括qps(QueriesPer Second,每秒查询率)和时延)要比php-fpm高出5到10倍左右,从而使服务器能够应对高并发和大量TCP连接。
Yaf(Yet Another Framework)是一个C语言编写、以php扩展形式提供的php开发框架,与一般的php框架相比更快、更轻便。Yaf框架本身定义了一套web服务端的消息业务处理逻辑和异常处理逻辑。Yaf框架这种规范化的、流程化的消息处理格式非常适合服务端的业务处理,但Yaf框架无法解决高并发的问题。
因此,需要开发一种既可以重复利用Swoole框架的高并发机制,又能利用Yaf框架的消息路由以及异常处理机制,从而提升高并发业务处理性能的方法。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的基于Swoole框架和Yaf框架的消息处理方法、基于Swoole框架和Yaf框架的消息处理装置、计算机存储介质以及计算设备。
根据本发明实施例的一方面,提供了一种基于Swoole框架和Yaf框架的消息处理方法,包括:
接收客户端发送的请求消息;
将所述请求消息分配至Swoole框架的消息处理进程;
利用所述消息处理进程调用Yaf框架对所述请求消息进行处理,并接收Yaf框架返回的处理结果;
将所述处理结果返回给所述客户端。
可选地,将所述请求消息分配至Swoole框架的消息处理进程,包括:
将所述请求消息负载均衡地分配至Swoole框架的消息处理进程。
可选地,将所述请求消息分配至Swoole框架的消息处理进程,进一步包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司,未经北京奇虎科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811512000.4/2.html,转载请声明来源钻瓜专利网。