[Sw] Swoole 生态迷局,基于 Swoole 的第 109 框架
这两天,又一全栈式 Swoole 协程框架面世了 - hyperf,实现思路是我内心点了赞同的,就集成现有 PHP 生态优质组件到 Swoole 的协程中来。
有人想到,为什么不是 Swoole 集成到 Web 框架中,当然已经有案例了,如果是老项目这么做是可以通过常驻内存提升性能的,并且利用到 Swoole 一些特性。
但是天花板也正是传统 Web 框架的限制,它们运行组件不是为常驻内存和协程而设计的,所以99.9%无法透明支持 Swoole 的,这是历史使然。
php-fpm 是多进程模型打天下的,Web 服务器是 Nginx 多,PHP 从不用考虑太多,憋说话,加机器就能解决的问题算问题吗。
现在科技进步了,都会举一反三了,眼界也必须要高呀,要省机器,要高性能,要云原生,矛盾就这么出现了。
所有基于 Swoole 的开发框架,上来必先普及一番 Swoole 协程的注意事项,这些注意事项都是在 Swoole 官方 wiki 上都有的,但依然穿插在框架文档的各个地方,
大家都这样做,厌恶感莫名就上来了,为什么 Swoole 官方 wiki 上有,你的开发框架文档上还要再拷贝一份呢,其实在我看来,这不会是简单的拷贝,
起码是框架作者深谙 Swoole 协程用法,拷贝顺带自己的理解敲上去的,因为不写的话,肯定大伙儿一用都是坑,到时候先吐槽,啥玩意儿,还不如我裸写的呢。
是的,当你把 Swoole 官方 wiki 上的特性、注意事项都了然于胸的时候,裸写是最爽的,性能最高,但是咋维护呀,这必须解决呀。
那么些个框架都出来好久了,用用看?要是写个小开源衍生作品,用就用呗,挂就挂了,不兼容就不兼容了,存档就存档了,不管那么多。
谁还没裸写过,这时候你理直气壮的创造了基于 Swoole 的第 109 个框架 swoole-micro .
Link:https://www.cnblogs.com/farwish/p/11062359.html
[Sw] Swoole 生态迷局,基于 Swoole 的第 109 框架的更多相关文章
- 使用php开发,基于swoole扩展开发的工具 swoole-crontab 作业/任务调度
Swoole-Crontab(基于Swoole扩展) 1.概述 基于swoole的定时器程序,支持秒级处理. 异步多进程处理. 完全兼容crontab语法,且支持秒的配置,可使用数组规定好精确操作时间 ...
- tcpproxy:基于 Swoole 实现的 TCP 数据包转发工具的方法
假设我们希望有一台机器A(ip 192.168.1.101)要开放端口6379给用户访问,但可能实际情况是用户无法直接访问到A(ip 192.168.1.101), 但却有一台机器B(ip 192.1 ...
- 手撸基于swoole 的分布式框架 实现分布式调用(20)讲
最近看的一个swoole的课程,前段时间被邀请的参与的这个课程 比较有特点跟一定的深度,swoole的实战教程一直也不多,结合swoole构建一个新型框架,最后讲解如何实现分布式RPC的调用. 内容听 ...
- LaravelS - 基于Swoole加速Laravel/Lumen
LaravelS LaravelS是一个胶水项目,用于快速集成Swoole到Laravel或Lumen,然后赋予它们更好的性能.更多可能性.Github 特性 内置Http/WebSocket服务器 ...
- 基于 Swoole 的轻量级框架 CabalPHP
CabalPHP CabalPHP 是一个基于Swoole的轻量.高效.全异步开源框架. 亮点 全异步单机超高性能,轻松分布式部署 支持HTTP.TCP.websocket等多种协议 完善数据库引擎, ...
- websocket和基于swoole的简易即时通讯
这里描述个基于swoole的websocket 匿名群聊 UI <!DOCTYPE html> <html> <head> <meta charset=&qu ...
- 一个基于swoole的作业调度组件,已经实现了redis和rabitmq队列消息存储。
https://github.com/kcloze/swoole-jobs 一个基于swoole的作业调度组件,已经实现了redis和rabitmq队列消息存储.参考资料:swoole https:/ ...
- 房产基于Swoole的PHP RPC框架设计
房产基于Swoole的PHP RPC框架设计 https://mp.weixin.qq.com/s/XSrKEQ-0q4DvjOGTIwYYzg
- 【原】用PHP搭建基于swoole扩展的socket服务(附PHP扩展的安装步骤及Linux/shell在线手册)
最近公司的一项目中,需要用PHP搭建一个socket服务. 本来PHP是不适合做服务的,因为和第三方合作,需要采用高效而稳定的TCP协议进行数据通信.经过多次尝试,最终选择了开源的PHP扩展:swoo ...
随机推荐
- NameNode和SecondaryNameNode
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/weixin_37838429/artic ...
- python - 将天数转换成日期
# 如果是 0 则为今天 def getdate(day): today = datetime.datetime.now() deviation = datetime.timedelta(days=- ...
- Git git2.8.1客户端安装教程
Git git2.8.1客户端安装教程 一 Git介绍 git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. 分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开 ...
- OpenCV应用(4)雄迈相机网络取图
第一种办法 单张图获取 网页打开#//http://192.168.1.82/webcapture.jpg?command=snap&channel= 1 网页打开直接抓一张图 python ...
- SQL盲注学习-布尔型
本次实验还是使用sqli-labs环境.在开始SQL盲注之前首先学习一下盲注需要用到的基础语法. 1.left()函数:left(str,lenth)它返回具有指定长度的字符串的左边部分. left( ...
- php实现隔行换色
<?php $i = 0 ; //声明一个变量 echo "<table width='800' border='1px'>"; //表格开头 设置宽度边框 wh ...
- Xamarin.Forms应用程序基础知识
生命周期 在 Android 上,若主活动的 [Activity()] 属性缺少 ConfigurationChanges = ConfigChanges.ScreenSize | ConfigCha ...
- gtibase rpm包制作
gitbase 是一个很不错的代码分析工具,我们可以直接使用sql来分析团队的代码,以下是rpm 包的制作 简单说明 rpm 包的制作使用了fpm 一个简单,方便可以跨平台的软件包制作工具 gitba ...
- Python3 连接各类数据库
Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口.它定义了一系列必须的对象和数据库存取方式, 以便为各种各样的底层数据库系统和多 ...
- codeblock代码片段
for循环 ; $(index name)<| ; $(index name)++ ){ } 2. 反向for循环 ; $(index name)>= ; $(index name)-- ...