news 2026/5/10 15:21:48

腾讯新闻放弃PHP,全面转向Go语言,重写代码超十万行!

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
腾讯新闻放弃PHP,全面转向Go语言,重写代码超十万行!

最近看到一篇关于腾讯新闻团队的技术分享,讲的是他们做了一次比较大的架构调整——将底层系统从PHP全面迁移到了Go语言,重写代码超过十万行。这种规模的重构升级,确实需要不小的决心和投入。

当初为什么用PHP?

腾讯新闻早期选择PHP是很好理解的。PHP上手快、开发效率高,很适合业务需要快速验证和迭代的阶段。团队能够迅速推出功能、抢占市场,这在项目起步期非常关键。

后来为什么又要换掉?

随着业务不断增长,尤其是用户量和访问量上升之后,PHP在高并发压力下的表现开始吃力。腾讯新闻每天要承载很大流量,遇到热点事件时并发请求会暴涨,PHP处理起来效率不够,资源消耗也比较大。

此外,PHP常见的部署方式是每个请求都要初始化一次环境,这种模式在流量大时对服务器资源占用较多。虽然可以通过加机器来解决,但成本也随之增加。

积累下来的问题

长期使用PHP开发,系统里逐渐积累了不少历史遗留代码。各个业务模块耦合在一起,结构变得复杂,每次改动都可能牵一发而动全身。代码库里也存在不少冗余或者临时写的片段,时间久了谁都不敢轻易去动,维护起来越来越麻烦。

为什么选了Go,而不是优化PHP?

可能有人会想到用Workerman、Swoole这类PHP扩展来提升性能,团队也确实评估过。但问题在于,这些工具主要提升的是单机性能,并不能从根本上改善已经臃肿的架构。而且引入它们还会增加系统的复杂度和学习成本,有点“修补补”的感觉。

相比之下,Go语言提供了不一样的思路。它本身在语言层面就支持高并发,通过goroutine可以比较优雅地处理大量并发任务。作为编译型语言,Go在运行时性能上有明显优势。另外,Go的语法比较简洁,代码规范也比较严格,有助于写出更清晰、好维护的代码。

重构之后有什么变化?

重构完成后,效果还是比较明显的。系统响应更快,CPU和内存的使用效率都有提升,同等硬件条件下能够支撑更高的并发量。

对开发团队来说,Go的强类型和简洁语法让代码更容易阅读和维护,新人上手也更快。编译阶段就能发现一些潜在问题,减少了线上故障的概率。

部署也变得简单许多。Go程序编译后是一个二进制文件,不需要像PHP那样配置复杂的运行环境,分发和启动都更轻量。

一点感想

腾讯新闻这次技术迁移,看起来不只是换一门编程语言,更是一次系统架构的全面升级。从早期追求快速上线,转向更关注性能、可维护性和长期稳定性。

当然,这种大规模重写对团队资源和勇气都是考验,并不适合所有项目。但它也提醒我们,技术选型需要考虑业务的发展阶段,及早重视架构整洁和代码质量,否则以后要付出的代价可能会更大。

技术环境一直在变,今天合适的方案未来未必依旧适用。保持学习、适时调整,可能才是做技术的人需要持续面对的常态。

正好我们是Go这方面的专家,需要简历优化、就业辅导、学习路线规划的朋友可以关注我,私信我。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/9 18:10:40

衡量低代码平台 ROI(投资回报率)的几个关键指标

在数字化转型的浪潮中,低代码平台凭借 “快速搭建、降低门槛”的核心优势,成为企业加速应用落地的重要选择。但对于企业决策者而言,选择低代码平台并非单纯追求“功能多”,更核心的是评估其投资回报率(ROI)…

作者头像 李华
网站建设 2026/5/1 0:08:30

10400_基于Springboot的职业教育管理系统

1、项目包含项目源码、项目文档、数据库脚本、软件工具等资料;带你从零开始部署运行本套系统。2、项目介绍系统专门针对职业培训来设计,采用Vue框架搭建起来,MySQL数据库用来存信息,Tomcat应用服务器负责执行操作。设计并开展一个…

作者头像 李华
网站建设 2026/5/2 23:02:40

71、Subversion 命令行客户端 svn 使用指南(上)

Subversion 命令行客户端 svn 使用指南(上) 1. 引言 Subversion 是一个强大的版本控制系统,而 svn 命令行客户端则为用户提供了灵活且高效的操作方式。本文将详细介绍 svn 客户端的使用方法,包括常见选项、子命令及其操作示例。 2. 示例操作与版本查看 首先来看一个…

作者头像 李华
网站建设 2026/5/5 1:30:35

78、Linux网络安全与系统安装全攻略

Linux网络安全与系统安装全攻略 1. Linux网络安全基础 在网络环境中,保障Linux服务器的安全至关重要,因为大多数恶意攻击往往源自网络,尤其是互联网。下面将介绍一些保障Linux服务器网络安全的基础方法。 1.1 网络服务管理 确定并移除不必要的网络服务可以简化网络服务的…

作者头像 李华
网站建设 2026/5/3 10:16:40

Typora代码块痛点破解方案技术文章大纲

痛点分析:Typora代码块的常见问题代码块语法高亮支持有限,部分语言无法正确渲染 代码块复制时可能携带行号或多余格式 大段代码在Typora中滚动体验不佳 代码块导出为PDF或HTML时格式错乱代码块语法高亮优化方案安装自定义语法高亮主题(通过CS…

作者头像 李华
网站建设 2026/5/9 3:55:14

传输协议:AS3

AS3(Applicability Statement 3)是一种用于安全地传输电子数据的协议,特别适用于大容量数据传输和实时数据交换。 背景: AS3是一种用于安全地传输大容量数据的协议,它建立在电子数据交换(Electronic Data I…

作者头像 李华