当前位置:   LINUX > 正文

微服务使用的phprpc,但是最近发现phprpc依赖的fsockopen 高并发下阻塞问题很严重,有解决的好办法吗?

php,rpc,mysql,linux,swoole,html,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码生成,unix时间戳,在线开发工具,前端开发工具,开发人员工具,站长工具

使用phprpc,但是最近发现phprpc依赖的fsockopen 高并发下阻塞问题很严重,又解决的好办法吗?

  • 大量读的操作,关联到每个用户,又要保证实时性,这个怎么破?

回复内容:

使用phprpc,但是最近发现phprpc依赖的fsockopen 高并发下阻塞问题很严重,又解决的好办法吗?

  • 大量读的操作,关联到每个用户,又要保证实时性,这个怎么破?

用yar试一下呢

消息队列是解决并发问题的根本方案

有人提到了消息队列,感觉在实时性要求高、无法异步的场景并不适合。

phprpc我并没用过,是不是本身存在性能问题尚不可知。

但其它产品的经验来看,每次请求都打开连接句柄,必然存在堵塞的问题。内网连接mysql在达到一定数据量级时,都可以看到有比较高的连接延迟,查询过程本身并不慢。

如果是这个原因,yaf估计也会存在这样的问题,长连接和连接池是你的研究方向。

用任务队列
1.新建一个数据表 去存放队列信息
2.利用linux上的定时任务去后台异步调用PHP /shell 脚本 去执行任务

这方面没有什么研究,楼主可以试试:http://wiki.swoole.com/wiki/page/196.html

然后有什么心得记得分享哦

实时性的你rpc也解决不了问题啊。。。应该是用长连接吧。。应该具体需求说说看,感觉你的需求和解决方案可能不匹配

对实时性要求不高可以考虑消息队列。
另外还可以考虑php的swoole扩展看看性能是否会提高一点。

谢谢邀请。推荐消息队列

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/blog/LINUX/detail/17960
推荐阅读
  • 如何解决《我无法从Windows主机访问在VM上运行的Django服务器》经验,为你挑选了1个好方法。linux,windows,django,ubuntu,virtual-machine,DevBox,在线流程图,编程,编程问答,程序员,... [详细]

  • 小弟最近在做一个多进程抓取服务,现在是一个主进程10个子进程如果子进程意外退出了再创建子进程。但是这样如果主进程意外退出了子进程却不会跟着退出我下次在开这个服务又创建了10个子进程加起来就是20c,swoole,php,redis,DevB... [详细]

  • 今天研究websocket的时候,发现网上很多websocket+php的demo都是要在命令行输入php-qxxx.php来启动服务端,我对php不是很熟悉,想请问以下这种场景能实现吗?浏览器ajax请求创建socket--&gt... [详细]

  • 被swoole坑哭的PHP程序员,swoole坑程序员。被swoole坑哭的PHP程序员,swoole坑程序员本文主要记录一下学习swoole的过程、填过的坑以及swoole究竟有多么强大!首先说一下对swoole的理解被,swoole,坑... [详细]

  • swoolejson不完整的解决办法:首先启动swoole客户端,向服务端发数据,并接收返回;然后在服务端设置代码为“package_eof>"\r\n\r\n"”;最后使用EOF协议处理的方式来解决json不完整... [详细]

  • 如何解决《获取操作系统级别的系统信息》经验,为你挑选了10个好方法。java,memory,resources,system,linux,windows,html,apache,https,git,DevBox,在线流程图,编程,编程问答,... [详细]

  • 我目前使用php作为后台脚本的语言,很多人说php容易内存泄漏什么的,但是现在已经跑了一个月了状况良好。而且现在php已经大大改善了内存的回收机制,再加上它的简便性,实在找不到有什么理由拒绝使用。除了它不支php,go,程序员,swoole... [详细]

  • 如何解决《为什么GCC不使用部分寄存器?》经验,为你挑选了1个好方法。x86,assembly,gcc,x86-64,linux,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码生成,unix时间... [详细]

  • 如何解决《无论如何在Windows机器上运行RubyonRails应用程序?》经验,为你挑选了2个好方法。ruby,windows,ruby-on-rails,linux,apache,DevBox,在线流程图,编程,编程问答,程序员,开发... [详细]

  • 如何解决《调用包含输出的.sh时,crontab不输出任何内容》经验,为你挑选了1个好方法。linux,shell,crontab,output,python,https,git,bash,DevBox,在线流程图,编程,编程问答,程序员,... [详细]

  • 在协程编程中可直接使用trycatch处理异常。但必须在协程内捕获,不得跨协程捕获异常。不仅是应用层throw的Exception,底层的一些错误也是可以被捕获的,如function、class、method不存在。swoole,DevBo... [详细]

  • 这篇文章主要介绍了php使用goto实现自动重启swoole、reactphp、workerman服务的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下php自动重启swoole、r... [详细]

  • swoole采用多线程Reactor+多进程Worker,因为reactor基于epoll,所以每个reactor可以处理无数个连接请求。如此,swoole就轻松的处理了高并发。swoole,并发,php,DevBox,在线流程图,编程,编... [详细]

  • 趁着这次加硬盘的机会,就准备彻底重做开发环境。现在对Mac也有了一定的了解,特地记录一下本次的开发环境安装详情,给自己一个备忘,希望也可以帮助到刚接触Mac环境的同学们PHP开发环境,php,mysql,nginx,xcode,git,ru... [详细]

  • 如何解决《CUDA缺少libGL.solibGLU.so和libX11.so》经验,为你挑选了1个好方法。opengl,cuda,linux-mint,linux,debian,ubuntu,DevBox,在线流程图,编程,编程问答,程序员... [详细]

  • 使用PHP如何实现高效安全的ftp服务器(一),。使用PHP如何实现高效安全的ftp服务器(一),FTP服务器(FileTransferProtocolServer)是在互联网上提供文件存储和访问服务的计算机,它们依照php,ftp,服务器... [详细]

  • php都已经5.6时代了,官方还是没有对线程,异步做出让步都全民API的时代了.很多东西已经不是单纯的web页面了php,swoole,服务器,udp,mysql,百度,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具... [详细]

  • 如何解决《在Windows上的os.pipe上读取非阻塞》经验,为你挑选了1个好方法。python,windows,pipe,linux,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码生成,un... [详细]

  • 今天研究websocket的时候,发现网上很多websocket+php的demo都是要在命令行输入php-qxxx.php来启动服务端,我对php不是很熟悉,想请问以下这种场景能实现吗?浏览器ajax请求创建socket--&gt... [详细]

  • 安装swoole官方demo代码搭建一个websocket,服务端代码:ws_server.php{代码}客户端代码:index.html{代码}我用命令开启ws_server.php服务端,客户端文件index.html放在apache的... [详细]

相关标签
  

闽ICP备14008679号