这两天,又一全栈式 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 框架的更多相关文章

  1. 使用php开发,基于swoole扩展开发的工具 swoole-crontab 作业/任务调度

    Swoole-Crontab(基于Swoole扩展) 1.概述 基于swoole的定时器程序,支持秒级处理. 异步多进程处理. 完全兼容crontab语法,且支持秒的配置,可使用数组规定好精确操作时间 ...

  2. tcpproxy:基于 Swoole 实现的 TCP 数据包转发工具的方法

    假设我们希望有一台机器A(ip 192.168.1.101)要开放端口6379给用户访问,但可能实际情况是用户无法直接访问到A(ip 192.168.1.101), 但却有一台机器B(ip 192.1 ...

  3. 手撸基于swoole 的分布式框架 实现分布式调用(20)讲

    最近看的一个swoole的课程,前段时间被邀请的参与的这个课程 比较有特点跟一定的深度,swoole的实战教程一直也不多,结合swoole构建一个新型框架,最后讲解如何实现分布式RPC的调用. 内容听 ...

  4. LaravelS - 基于Swoole加速Laravel/Lumen

    LaravelS LaravelS是一个胶水项目,用于快速集成Swoole到Laravel或Lumen,然后赋予它们更好的性能.更多可能性.Github 特性 内置Http/WebSocket服务器 ...

  5. 基于 Swoole 的轻量级框架 CabalPHP

    CabalPHP CabalPHP 是一个基于Swoole的轻量.高效.全异步开源框架. 亮点 全异步单机超高性能,轻松分布式部署 支持HTTP.TCP.websocket等多种协议 完善数据库引擎, ...

  6. websocket和基于swoole的简易即时通讯

    这里描述个基于swoole的websocket 匿名群聊 UI <!DOCTYPE html> <html> <head> <meta charset=&qu ...

  7. 一个基于swoole的作业调度组件,已经实现了redis和rabitmq队列消息存储。

    https://github.com/kcloze/swoole-jobs 一个基于swoole的作业调度组件,已经实现了redis和rabitmq队列消息存储.参考资料:swoole https:/ ...

  8. 房产基于Swoole的PHP RPC框架设计

    房产基于Swoole的PHP RPC框架设计 https://mp.weixin.qq.com/s/XSrKEQ-0q4DvjOGTIwYYzg

  9. 【原】用PHP搭建基于swoole扩展的socket服务(附PHP扩展的安装步骤及Linux/shell在线手册)

    最近公司的一项目中,需要用PHP搭建一个socket服务. 本来PHP是不适合做服务的,因为和第三方合作,需要采用高效而稳定的TCP协议进行数据通信.经过多次尝试,最终选择了开源的PHP扩展:swoo ...

随机推荐

  1. 命令行的方式启动和关闭Mysql

    命令行的方式启动和关闭Mysql mysql -h 主机名 -P 端口号 -u 用户名 -p 密码 例如:mysql -h localhost -P 3306 -u root -p11111(p和密码 ...

  2. Linux shell脚本基础学习详细介绍(完整版)二

    详细介绍Linux shell脚本基础学习(五) Linux shell脚本基础前面我们在介绍Linux shell脚本的控制流程时,还有一部分内容没讲就是有关here document的内容这里继续 ...

  3. kvo与runtime

    创建新类 添加方法 isa-swizzling 测试方案: 添加全局断点 objc_allocateClassPair objc_registerClassPair class_addMethod l ...

  4. 协程 和 async await

    协程, 是 为了 避免 闭包传递变量 的 性能损耗 而产生  . 如果不是 为了 避免 闭包传递变量 的 性能损耗 ,    线程池 和 Task 已经够了,  不需要 再设计 出 协程 来  . 闭 ...

  5. Docker for Windows 使用命令报错

    could not read CA certificate "C:\Users\username\.docker\machine\machines\default\ca.pem": ...

  6. [RN] React Native :Error: Cannot find module 'asap/raw'

    今天在使用 react-native-dropdownmenus 的时候,安装没问题,但Link的时候 报: Error: Cannot find module 'asap/raw' 朋友们莫慌,一步 ...

  7. 洛谷/SPOJ SP3267 题解

    若想要深入学习主席树,传送门. Description: 给定数列 \(\{a_n\}\) ,求闭区间 \([l,r]\) 的互异的个数. Method: 扫描序列建立可持续化线段树,若此元素是第一次 ...

  8. 洛谷P1084 疫情控制

    题目 细节比较多的二分+跟LCA倍增差不多的思想 首先有这样一个贪心思路,深度越低的检查点越好,而最长时间和深度具有单调性,即给定时间越长,每个军队能向更浅的地方放置检查点.因此可以考虑二分时间,然后 ...

  9. python range 和xrange

    对于这两个好像功能都差不多,这两个经常会被搞混,所以今天一定要把这个完全弄清楚. 首先我们看看range: range([start,] stop[, step]),根据start与stop指定的范围 ...

  10. ES6 fetch方法封装

    // 请求路径 let url = 'http://jsonplaceholder.typicode.com/users' // 传输数据参数 const dataName = { name: &qu ...