Swoole正式发布4.0版本
极客时间编辑部
讲述:杜力大小:1.06M时长:02:19
近日,流行 PHP 协程引擎 Swoole 正式发布了 4.0 版本,支持在 PHP 代码中的任意位置使用协程,并带来了全局变量隔离、支持 MySQL 存储过程等新特性。开源中国对 Swoole 项目创始人韩天峰进行了采访,他介绍了 Swoole 开发背后的一些故事。
据悉,Swoole 第一版的协程实际上存在着一些兼容性的问题,不是所有地方都可以使用协程,比如魔术方法、反射函数等,开发一旦在这些地方使用协程,就会出现内存错误,整个系统都会崩溃。
而后面的 Swoole 3.0 中,目标就是解决这个兼容性的问题,核心的技术原理是基于 PHP 的 ZendVM 底层中断机制实现协程。在 3.0 开发完成后,测试中发现只能解决一小部分的兼容性问题,有些 PHP 语法还是不支持。
因此,开发团队最终只能放弃了 3.0 分支,启动了 4.0 的开发,4.0 的技术方案是 PHP+C 双栈模式,这个技术方案解决了所有兼容性的问题。协程可以像一个最普通的 PHP 函数一样,可以随时随地的使用了。
据介绍,他们一开始是使用微信开源的 libco 库作为 C 栈协程库,但是到了压力测试阶段,发现大量并发的情况下会崩溃。因此,在最终的版本中移除了 libco ,使用了完全自主研发的 C 栈协程库。这为 Swoole 后续的开发打下了非常好的基础,可以把控程序的每个细节,持续地完善每一行代码,实现更多底层特性。
现在,4.0 的版本已经趋于稳定,不再会有大的变动。而且近期 Swoole 团队会组建一个全职开发团队,在文档、教程、测试方面投入较大的资源。
韩天峰介绍,Swoole 4.0 完整地实现了 CSP 并发编程模型,可以像 Go 语言的 goroutine + chan 一样灵活。而且 PHP 作为一门动态语言,相比静态语言在编程效率上有很大优势。
在今后,4.0 版本将会作为 Swoole 的主干版本进行开发和支持。如果已经上线运行的项目使用了旧版本,韩天峰建议还是使用老的分支。而对于新项目,开发者最好使用 4.0 。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(1)
- 最新
- 精选
- 小伙儿学习了1
收起评论