阅读更多

4顶
1踩

编程语言

转载新闻 Node.js在Qzone的演进

2015-05-11 09:32 by 副主编 mengyidan1988 评论(3) 有5494人浏览
本文由youkun编写:原文地址

2011~清除迷雾

入职年负责的第一件事是用node.js来实现长连接。因为涉及server开发,所以直接进入双导师模式,一个前端导师加一个后端导师。

server的开发部署摸清了在腾讯做后端开发的大部分流程和工具,为之后的node.js开发清除了迷雾。

2012~一切皆模块

2012只做了一件事,那就是模块化,浏览器里的代码被抽像为一个个module。除了参与sea.js设计细节的撕逼,团队也诞生了基于目录的合并编译工具JSC。JSC一直用到现在,最好用的一个功能是实时把前端模板编译为sea.js模块,为后来的直出复用模板做了积累。

2012年10年1日 node.js直出服务器第一个版本诞生,命名py_nodejs_proxy。py并不是大家理解的炮友的意思,而是朋友网的缩写, proxy指可编程的代理。这个名字一直延续到现在。

2013~错过最好的发展时机

这一年经历了空间触屏改版,是Node.js发展的风口。但是,由于各种原因最后采用了CPP+V8的解决方案,Node.js的定位被锁死在模板上。这并不是我希望的结果,于是又新起了一个相册直出的域名,继续默默更新py_nodejs_proxy,等待下一个风口。

那一年空间触屏上亿PV,相册直出域名千万级PV,装机量不到20+。

2014~无为的一年

打酱油的一年Orz

2015~破局

如果非要用一句话总结这半年来的主要工作:不停的把其它域名cname到相册直出域名。

随着移动端的崛起,新起的项目面临如何同时支持多平台的问题。从后台的角度来看这个问题,相同的接口维护两种协议,已经成为一种隐形的成本。支持移动端是必须的,那如何优雅的进行H5开发呢?就是现在,前端看到机会点,我们重新思考py_nodejs_proxy的定位,不仅仅是用来直出页面,而是将py_nodejs_proxy定义为http接入层,所有天赋点都加到proxy的技能树上。

然后就有了webapp,这意味着Node.js可以直接调用后台为手机准备的所有接口。然后也有了域名收归能力,为更快的尝试spdy/http2.0等项目提供了可能。新活动和项目后端专心搞接口,接入层前端直接搞定,随着webapp的大面积使用,Node.js一下热了起来。

大面积的业务应用间接推动了py_nodejs_proxy在基础能力上的不断完善。立体监控、实时日志、染色和window对象的出现、安全、httpdns、更强的路由和代理能力。同时py_nodejs_proxy开始把业务逻辑向外分离,集成大量公司级公共组件(L5、DC、门神、CMEM等),定位开始变得清晰,从空间Node.js解决方案上升为公司级通用解决方案。因为具有一定的技术壁垒,接着内部站点nodejs.oa.com诞生,文档开始出现。

这一年相册直出域名过亿PV,手Q离线包域名过40亿PV。py_nodejs_proxy装机量破百,共385个迭代,2015半年就贡献了255个~

团队的状态异常活跃,任何靠谱的想法都可以快速落地执行,有意思的工具或内部站点开始不断涌现。随着py_nodejs_proxy的完善,其发现问题和定位问题的能力已经远远超过tnginx,业务内部开始出现tnginx退Node.js进的趋势。微云全站也在进行着php退Node.js进的演进。

空间前端开发者的日常聊天话题,已经从“浏览器中遇到的奇葩问题”扩展到了“http接入层中遇到的奇葩问题”,团队的日常行为和面对反馈的第一反应也发生了巨大变化。比如,以前面对用户反馈第一时间是联系用户抓包分析,现在直接查流水对log。回过头看,如今的空间前端和当年的相比,已经不在一个档次上。

技术的领先,在被普及后都不再有壁垒,我们需要不断的扩展新的领域保持领先,任何可以用JS实现的都终将被JS实现,下一个也许大概可能就是react~
来自: Qzone-youkun
4
1
评论 共 3 条 请登录后发表评论
3 楼 kuchaguangjie 2015-05-15 11:49
纯装逼贴..
2 楼 天朗java 2015-05-12 09:45
感觉挺不错 求更详细的分享 架构  py_nodejs_proxy的作用
1 楼 mangguo 2015-05-11 17:50
js越来越火了,这跟nodejs的发展有很大的关系。现在nodejs开发的网站有很多: 汇智网 
花瓣网  BAT 很多的项目也应该到了。

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 转发 微博 Qzone 微信 Angular、Vue、React 和前端的未来

    最近社区针对框架的争论,从发文互怼再到粉丝站队再到大漠穷秋准备离职,令人唏嘘不已。...其实我想基于我个人的经验聊下前端的演进和未来,希望可以贡献微薄的力量,消除一些我个人认为的前端社区不太好的风气。 ...

  • 前端web 技术盘点

    多样化的调试和开发工具  浏览器中的调试工具已经趋于成熟。Chrome、 Safari、 Firefox都有很完善并且功能类似的调试工具,就连IE 11提供的调试工具也很不错,功能...Phontomjs 加载网页后,提供一系列的 Javascript

  • 全面总结国内BATH等大厂开源的安卓有关的库(持续更新中...)

    安卓开发一直在用大公司的开源库,下面来整理一下与安卓开发有关的库。 一、阿里巴巴 (一)UI有关 1. 多页面切换场景统一解决方案 UltraViewPager UltraViewPager 是阿里开源的一个封装多种特性的 ViewPager ,...

  • 微服务实战(三):深入微服务架构的进程间通信 - DockOne.io

    编译器可以生成多种语言的代码,包括C++、Java、Python、PHP、Ruby, Erlang和Node.js。 Thrift接口包括一个或者多个服务。服务定义类似于一个JAVA接口,是一组方法。Thrift方法可以返回响应,也可以被定义为单向的。...

  • 前端开发月刊

    可以从这关注实时动态,也可以fork之后push:https://github.com/jsfront/month 可以从这查看以往:... 1. Javascript 2. 移动Javascript开发 3. Html5 4. CSS 5. Angular 6. React...

  • 2016年1月-前端开发月刊

    可以从这关注实时动态,也可以fork之后push:https://github.com/jsfront/month 可以从这查看以往:... 1. Javascript 2. 移动Javascript开发 3. Html5 4. CSS 5. Angular 6. React, Webpack 7. ...

  • 前端学习借鉴目录

    可以从这关注实时动态,也可以fork之后push:https://github.com/jsfront/month 可以从这查看以往:... 1. Javascript 2. 移动Javascript开发 3. Html5 4. CSS 5. Angular 6. React, Webpack 7. ...

  • 年度回顾:2013年前端技术盘点

    转这篇文章的目的是想提醒自己原来在年初时自己想到的CSS隔离已经有新技术在实现了(shadow Dom),只不过我当初的解决方案是CSS命名空间(声明了命名空间的话就不受外部CSS 影响,这简直和shadow Dom异曲同工【可见...

  • 1月份前端资源分享

    更多资源请Star:https://github.com/maidishike... ... 1月份前端资源分享 1. Javascript 视频-D2前端技术论坛——2015融合 不可错过的javascript迷你库 测试框架 Mocha 实例教程 为你详细解读...

  • Vue:Webpack、router、elementUI、嵌套等学习

    什么是vue-cli vue-cli官方提供的一个脚手架,用于快速生成一个vue的项目模板 预先定义好的目录结构及...Node.js:http://nodejs.cn/download/  安装就是无脑的下一步就好,安装在自己的环境目录下 Git:https://git

  • go技术文章梳理(2017)

    1.在 Kubernetes上运行 Spark https://jimmysong.io/spark-on-k8s/running-on-kubernetes.html 2.Go和机器学习 https://www.dotconferences.com/2017/11/francesc-campoy-flores-machine-learning-and-go 3.Go通过...

  • [原创]国内大公司开源的安卓有关的库(持续更新中 )

    安卓开发一直在用大公司的开源库,下面来整理一下与安卓开发有关的库。 一、阿里巴巴 (一)UI有关 1. 多页面切换场景统一解决方案UltraViewPager UltraViewPager 是阿里开源的一个封装多种特性的 ViewPager ,...

  • 爬虫中requests高级用法(带上cookie做数据请求)

    缺少 JavaScript 对象","componentWillEnter","componentWillLeave","componentWillAppear","getInlineStyleAt","getCharacterList"],"whitelistUrls&...

  • Facebook、微信团队、Twitter、微软开源软件列表一览

    Facebook开源软件列表 ...Facebook开源项目负责人James Pearce曾在OSCON解释过Facebook究竟为何要使用、支持和发布开源项目。具体如下: 共享Facebook的代码(通常是软件“栈”,偶尔也包括

  • QCon北京2012讲义下载

    将Node.js用于数据密集型实时应用(DIRT) 利用云技术实现Netflix快速规模化增长 敏捷软件开发怪诞行为学 如何开发靠谱的应用? 扩展社交计算 从创意到盈利:产品成功背后的奥秘 ...

  • 信息技术领域会议(技术领域和非技术领域)

    我们一起开发过的Node.js 田永强/朴灵:数据平台产品部资深前端开发工程师 - 淘宝网 KindEditor设计思路 罗龙浩:前端架构师 - 土豆网 编辑器设计KISSY 何一鸣/承玉:资深前端开发工程师 - 淘宝网 编辑器设计UEditor...

  • 拟阵约束下最大化子模函数的模型及其算法的一种熵聚类方法.pdf

    拟阵约束下最大化子模函数的模型及其算法的一种熵聚类方法.pdf

  • 电力市场领域中基于CVaR风险评估的省间交易商最优购电模型研究与实现

    内容概要:本文探讨了在两级电力市场环境中,针对省间交易商的最优购电模型的研究。文中提出了一个双层非线性优化模型,用于处理省内电力市场和省间电力交易的出清问题。该模型采用CVaR(条件风险价值)方法来评估和管理由新能源和负荷不确定性带来的风险。通过KKT条件和对偶理论,将复杂的双层非线性问题转化为更易求解的线性单层问题。此外,还通过实际案例验证了模型的有效性,展示了不同风险偏好设置对购电策略的影响。 适合人群:从事电力系统规划、运营以及风险管理的专业人士,尤其是对电力市场机制感兴趣的学者和技术专家。 使用场景及目标:适用于希望深入了解电力市场运作机制及其风险控制手段的研究人员和技术开发者。主要目标是为省间交易商提供一种科学有效的购电策略,以降低风险并提高经济效益。 其他说明:文章不仅介绍了理论模型的构建过程,还包括具体的数学公式推导和Python代码示例,便于读者理解和实践。同时强调了模型在实际应用中存在的挑战,如数据精度等问题,并指出了未来改进的方向。

  • MATLAB/Simulink平台下四机两区系统风储联合调频技术及其高效仿真实现

    内容概要:本文探讨了在MATLAB/Simulink平台上针对四机两区系统的风储联合调频技术。首先介绍了四机两区系统作为经典的电力系统模型,在风电渗透率增加的情况下,传统一次调频方式面临挑战。接着阐述了风储联合调频技术的应用,通过引入虚拟惯性控制和下垂控制策略,提高了系统的频率稳定性。文章展示了具体的MATLAB/Simulink仿真模型,包括系统参数设置、控制算法实现以及仿真加速方法。最终结果显示,在风电渗透率为25%的情况下,通过风储联合调频,系统频率特性得到显著提升,仿真时间缩短至5秒以内。 适合人群:从事电力系统研究、仿真建模的技术人员,特别是关注风电接入电网稳定性的研究人员。 使用场景及目标:适用于希望深入了解风储联合调频机制及其仿真实现的研究人员和技术开发者。目标是掌握如何利用MATLAB/Simulink进行高效的电力系统仿真,尤其是针对含有高比例风电接入的复杂场景。 其他说明:文中提供的具体参数配置和控制算法有助于读者快速搭建类似的仿真环境,并进行相关研究。同时强调了参考文献对于理论基础建立的重要性。

  • 永磁同步电机无感控制:高频方波注入与滑膜观测器结合实现及其应用场景

    内容概要:本文介绍了永磁同步电机(PMSM)无感控制技术,特别是高频方波注入与滑膜观测器相结合的方法。首先解释了高频方波注入法的工作原理,即通过向电机注入高频方波电压信号,利用电机的凸极效应获取转子位置信息。接着讨论了滑膜观测器的作用,它能够根据电机的电压和电流估计转速和位置,具有较强的鲁棒性。两者结合可以提高无传感器控制系统的稳定性和精度。文中还提供了具体的Python、C语言和Matlab代码示例,展示了如何实现这两种技术。此外,简要提及了正弦波注入的相关论文资料,强调了其在不同工况下的优势。 适合人群:从事电机控制系统设计的研发工程师和技术爱好者,尤其是对永磁同步电机无感控制感兴趣的读者。 使用场景及目标:适用于需要减少传感器依赖、降低成本并提高系统可靠性的情况,如工业自动化设备、电动汽车等领域的电机控制。目标是掌握高频方波注入与滑膜观测器结合的具体实现方法,应用于实际工程项目中。 其他说明:文中提到的高频方波注入和滑膜观测器的结合方式,不仅提高了系统的性能,还在某些特殊情况下表现出更好的适应性。同时,附带提供的代码片段有助于读者更好地理解和实践这一技术。

Global site tag (gtag.js) - Google Analytics