php做app后端(聊聊 2018 年后端技术趋势)

wufei123 发布于 2024-02-23 阅读(61)

异步模式Go 语言越来越热门,很多大型互联网公司后端正在转向 GO Java 圈知名的服务化框架 Dubbo 也宣布转型异步模式这是一个大趋势,异步模式已经被市场验证和认可在 Web 服务器选择上,几年前大部分人就开始选择异步非阻塞的 Nginx,而不是同步阻塞的 Apache。

就是因为 Nginx 这样的异步程序,它的适应性更好、并发能力更强现在在后端业务开发编程方面,技术力量强的团队已经开始将技术栈从同步模式切换为异步了同步阻塞模式存在较多缺陷,并发能力弱、适应性差、慢速请求导致服务不可用。

如:后台接口中调用第三方 API 的场景,同步模式效果极差过去那些使用 Java、PHP、C++、Python、Ruby 语言开发的同步阻塞模式框架,用的人越来越少Node.js虽然 Node.js 也很热门,很流行,但仍然很少见到企业将 Node.js 作为公司后端方面的主要编程语言。

C++、Java、PHP、Pytohn 语言同样也有一些类似的方案,包括 Swoole-1.0 也是基于类似于 Node.js 的异步回调模式本质原因是异步回调的技术方案,以及在它之上所做的一些优化方案,包括 Promise、Future、Yield/Generator、Async/Await 等,改变了程序开发的风格和习惯。

如果要使用这些技术,那么工程师需要额外学习这些关键词和函数的使用方法使用这些技术方案是无法兼容已有程序的可以说研发成本巨大,难以平滑过渡影响了异步回调技术栈的普及这种编程模式很难让所有人都接受协程而协程模式,兼顾了同步阻塞的可维护性和异步非阻塞的高并发能力。

将会成为未来后端开发领域的主流技术方案最重要的,协程模式只需要对已有项目代码进行少量调整就可以运行起来,甚至可以完全兼容老项目只需要框架层进行兼容即可这使得团队可以平滑过渡使用协程模式,开发者完全不需要学习额外的关键词和函数用法。

编码风格与同步模式下是完全一致的协程技术里,当然 GO 语言是最耀眼的那一个协程、通道、静态语言、性能、富编译、标准库丰富、生态完整、Google 等,优势太多了GO 语言,个人认为是目前所有编程语言中,最值得学习的。

Swoole 2.x 让 PHP 这门 20多年历史的老牌后台编程语言也能有协程的能力相比 Go 这样的技术,PHP + Swoole 的技术栈,更适合快速开发、快速迭代、业务驱动的场景毕竟动态语言比静态语言还是要更加灵活、开发效率更高。

而 Go 更适合编写系统级软件、核心业务系统2018 年我重构了 swoole framework 这个很老的项目,底层支持 Swoole 2.x 协程模式主要原因是车轮公司内部有很多项目基于这个框架,尤其是服务层全部用了 swoole framework。

我们希望业务代码一行不改,可以一键切换为协程模式理论上其他的同步阻塞 PHP 框架,如 Laravel 、Yii ,都可以实现只修改底层兼容 Swoole 2.x 协程,实现项目代码无缝切换协程模式使用协程后,整个系统的性能、并发能力、稳定性有了巨大提升。

过去,线上经常出现一个慢请求导致整个服务器卡住的问题不存在了PHP & Swoole虽然 Swoole 2.0 只有不到两年的历史,相比 Go 语言 10 年的耕耘,还有很长一段路要走但相比 GO 这样的静态语言,PHP + Swoole 还是有很多优势的,PHP 更加简单易用,PHP 是动态语言,使用起来更加灵活。

当然,如果是新项目还是推荐使用 Swoft 这个专门为 Swoole 2.x 的框架,它的历史包袱更少,因此稳定性更好现在有了 Swoole 2.0 协程,我们对 PHP 的未来仍然充满信心查看原文,体验swoft。

--------------伟大的分割线----------------PHP饭米粒(phpfamily) 由一群靠谱的人建立,愿为PHPer带来一些值得细细品味的精神食粮!饭米粒只发原创或授权发表的文章,不转载网上的文章

所发的文章,均可找到原作者进行沟通也希望各位多多打赏(算作稿费给文章作者),更希望大家多多投搞投稿请联系:shenzhe163@gmail.com本文由 韩天峰 授权 饭米粒 发布,转载请注明本来源信息和以下的二维码(长按可识别二维码关注)。

亲爱的读者们,感谢您花时间阅读本文。如果您对本文有任何疑问或建议,请随时联系我。我非常乐意与您交流。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

大众 新闻22260