摘要:现在在后端业务开发编程方面,技术力量强的团队已经开始将技术栈从同步模式切换为异步了。使用这些技术方案是无法兼容已有程序的。影响了异步回调技术栈的普及。将会成为未来后端开发领域的主流技术方案。
今天太忙,少写一点,后面再补充。
异步模式Go 语言越来越热门,很多大型互联网公司后端正在转向 GO 。Java 圈知名的服务化框架 Dubbo 也宣布转型异步模式。这是一个大趋势,异步模式已经被市场验证和认可。
在 Web 服务器选择上,几年前大部分人就开始选择异步非阻塞的 Nginx,而不是同步阻塞的 Apache。就是因为 Nginx 这样的异步程序,它的适应性更好、并发能力更强。现在在后端业务开发编程方面,技术力量强的团队已经开始将技术栈从同步模式切换为异步了。
同步阻塞模式存在较多缺陷,并发能力弱、适应性差、慢速请求导致服务不可用。如:后台接口中调用第三方 API 的场景,同步模式效果极差。过去那些使用 Java、PHP、C++、Python、Ruby 语言开发的同步阻塞模式框架,用的人越来越少。
Node.js虽然 Node.js 也很热门,很流行,但仍然很少见到企业将 Node.js 作为公司后端方面的主要编程语言。C++、Java、PHP、Python 语言同样也有一些类似的方案,包括 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 的未来仍然充满信心。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/28149.html
摘要:什么是前后分离前后端分离并不是什么新鲜事,到处都是前后端分离的实践。然而一些历史项目在从一体化设计转向前后端分离的架构时,不可避免的会遇到各种各样的问题。搞了一个前后分离,需要分离部署。 探究 :深入聊聊前后分离架构 前后分离,一直是一个相当泛泛的问题,前后分离到底好不好?没有绝对的对,没有绝对的错,业界就这个问题已经激烈的探讨几年了.出现讨论的点在于:分离当然是好的,但是以什么样的服...
摘要:什么是前后分离前后端分离并不是什么新鲜事,到处都是前后端分离的实践。然而一些历史项目在从一体化设计转向前后端分离的架构时,不可避免的会遇到各种各样的问题。搞了一个前后分离,需要分离部署。 探究 :深入聊聊前后分离架构 前后分离,一直是一个相当泛泛的问题,前后分离到底好不好?没有绝对的对,没有绝对的错,业界就这个问题已经激烈的探讨几年了.出现讨论的点在于:分离当然是好的,但是以什么样的服...
摘要:什么是前后分离前后端分离并不是什么新鲜事,到处都是前后端分离的实践。然而一些历史项目在从一体化设计转向前后端分离的架构时,不可避免的会遇到各种各样的问题。搞了一个前后分离,需要分离部署。 探究 :深入聊聊前后分离架构 前后分离,一直是一个相当泛泛的问题,前后分离到底好不好?没有绝对的对,没有绝对的错,业界就这个问题已经激烈的探讨几年了.出现讨论的点在于:分离当然是好的,但是以什么样的服...
摘要:年,边缘计算等和云计算紧密结合,重回技术路线。年后刚刚开工,就传出了百度智能云和携程签约的消息,为年的云计算行业带来了第一波地震。2017年,合规让很多云计算企业如履薄冰,价格战越烧越旺。2018年,AI、IoT、边缘计算等和云计算紧密结合,重回技术路线。2019年,云计算会走向何方,想必很多人在等一个答案。年后刚刚开工,就传出了百度智能云和携程签约的消息,为2019年的云计算行业带来了第一...
摘要:第五家公司沉淀期恰好这时候机会又来了现在在职这家公司的部门经理在我前同事前公司同事离职后来了现在这个公司的推荐下和我沟通了一下。 目录 前言 一 大学阶段 二 实习阶段 三 工作阶段 1.第一家公司-学习期 2.第二家公司-转型期 2.第三家公司-质变期 ...
阅读 1262·2021-09-22 15:09
阅读 2589·2021-08-20 09:38
阅读 2385·2021-08-03 14:03
阅读 841·2019-08-30 15:55
阅读 3353·2019-08-30 12:59
阅读 3531·2019-08-26 13:48
阅读 1868·2019-08-26 11:40
阅读 612·2019-08-26 10:30