如何看待天猫彻底抛弃PHP?

乱弹 · Fecmall · 于 6年前 发布 · 2157 次阅读

知乎链接:https://www.zhihu.com/question/41913568/answer/95778872

利益相关:天猫员工,天猫node核心开发者。

作为天猫php迁移node的主要推动者之一,我来回答一下这个问题。首先,解释一些疑问:关于使用范围,天猫之前php主要用于前端渲染这块业务,后台业务过去和现在一直都是Java为主,node替换的仅是前端渲染层;天猫在2015年之前,前端代码基本都跑在php系统上,直到2016年初,才彻底下线了所有的php业务。

各位可能要问了,为啥要换呢?php不是世界上最好的语言吗?php当然是世界上最好的语言,只是不适合天猫。这个得从当时的背景谈起。天猫的业务场景非常特别,每年的双11需要非常强的系统稳定性和非常高效率的开发效率。原先的php系统设计年代非常久远(9年多前),设计之初,没有现今双11这种压力高并发和高效率开发的压力,当时的前端开发体系也没有如今这般完善。可以说,到了2014年,前端还是使用这一套开发系统去撸业务,简直就是刀耕火种,效率上远远满足不了双11的海量需求。以2015年双11为例,总共上线了超过1000个活动页面,如果前端一个页面一个页面地去写,得耗费大量的人力,再算上需求变更带来的返工,耗费的时间又是一笔巨大的成本。更重要的,在php系统上系统做前端开发,前端开发人员需要同时掌握php,js和css,技术体系上存在隔离,大部分前端对php掌握程度不足,写出的页面性能非常糟糕,以天猫首页为例,php版本在25核的实体机上,只能跑出300QPS。在这样的历史背景下Node刚好能够比较好的解决上面的问题。其实早在2014年,天猫的首页就开始试点Node方案,并完美的度过了当年的双11,性能和稳定性完全满足业务的需要。同时目前前端的各种工程化方案大多基于Node平台。所以在这样的特定的历史条件下,天猫选择使用Node重构原有的PHP系统。

php和node没有谁好谁坏,php依旧是世界上最好的语言;天猫选择了Node来重构新的前端渲染系统只是各种因素的综合考量的结果,不能说最好,但肯定是最合适的。技术方案只有能够快速有效的解决业务问题,为公司创造价值,才能够活下去。

共收到 0 条回复
没有找到数据。
添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册
Your Site Analytics