nodejs一小步前端开发一大步(d2).pptx

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
nodejs一小步前端开发一大步(d2)

NODEJS一小步前端开发一大步分享人:brianlin@腾讯云时 间:2014年10月1为何选择NODEJS初尝后端架构32典型问题分享前言@2013纯前端的团队是专注于前端领域,还是独立承担起整个项目,大家有什么想法?推动NODEJS在实践中更多应用激情根本停不下来….团队得到锻炼,让前端了解后台的世界有利于项目闭环技术选型的可行性自行验证数据业内越来越多著名公司转向NODEJSpaypal/linkedin/groupon等已开始转向NODEJS,以paypal为例,NODEJS替代java使得开发效率及性能提升, 代码量减少33%。业内公司数据什么样的尺子才是度量NODEJS性能的最合理工具?没有数据基础的激情不是真爱空间团队NODEJS应用取得成功兄弟团队数据V8引擎非常强大,但执行CPU复杂型计算仍落后于C++扩展,即便如此这就能说明nodejs的性能优劣么?从限制系统性能的短板考量技术选型!相比php, NODEJS和NGINX对后端延迟不敏感,适合大部分互联网web业务,尤其适合作为接入!pm=staticmax_children=50php工作模型:Server:200/s,单请求延时2sClient:400/sphp进程11......php进程200200201等待php:100/s...400等待nodejs工作模型:Client:400/sIO线程处理任务队列异步调用异步IO请求Server:200/s,单请求延时2s12事件循环(单线程异步非阻塞)...399异步回调异步IO响应400nodejs:200/s总结nodejs优势所在基于事件驱动的异步IO提升并发强大的V8引擎保证脚本执行性能优势优势优势符合前端团队的能力模型优势前后端代码及模板共用技术未成熟,发展快,模块多选择困难反人类的多层闭包嵌套造成代码可读性差nodejs具备优势,但也有劣势,该如何缓解?0102expresssupervisormysqlmemcachedmysql-libmysqlclientasyncconnectsupervisorjadeejsmemcachemysql-nativemime……码农逆袭,战胜选择困难综合症!通过大家的努力实现优胜劣汰!开发者对模块维护的频度NPM上被依赖的模块排行榜模块文档及demo的完善程度开源社区对模块的认可程度阅读组件源码尽量让代码远离深层闭包嵌套!Async模块减少闭包嵌套代码优化闭包代码独立成函数减少嵌套代码优化数据存储MYSQL MASTERMYSQL SLAVEMYSQL SLAVECACHE接入层逻辑层存储层关联平台NODEJS组件TGWTNGINX用户NODEJS组件NODEJS组件23CDN411 页面架构设计2 接入层设计3 数据库设计4 缓存设计动静态页面分离灰度发布配置化支持https等能力域名收归静态页面由tnginx直接处理并返回浏览器,动态页面交由nodejs服务渲染。TNGINX作为接入的用处AB数据访问读写分离C在分库表的基础上,单master多slave提升系统横向扩展性。配置化解决数据库容灾D业务模块访问主辅分类master和slave通过binlog近乎实时同步数据,任意slave可为master实时备份。支持多地跨机房部署主业务模块和辅助业务模块访问的数据库主从分离,避免辅助模块的对数据的访问影响主业务的正常运行。利用数据库的主从分离实现系统的多地部署,数据一处写入多处读取,保证数据就近读取,同时采用机房间光钎连接提升数据写入的速度。缓存应用场景缓存作为NODEJS组件间共享session的存储方式;缓存多读少写的数据,提升NODEJS组件读取数据的性能;缓存更新机制实时缓存:NODEJS组件先读取缓存数据有结果则直接返回,无结果则从数据库读取并回写缓存,修改则先改数据库再改缓存;定时修正:以定时方式从数据库同步最新数据到缓存防止数据不一致;缓存前后响应时间的数据对比缓存前响应时间缓存后响应时间缓存分布式算法优化NODEJS应用过程中典型问题分享更多待续…进程控制优化进程控制优化分析问题原因:cluster实现多进程负载均衡存在严重缺陷,cluster对子进程任务分配的方式造成子进程间负载不均衡。进程控制优化Ars系统终端Master进程Worker进程请求启动监听端口fork worker进程队列;返回结果接收connection,从进程队列取出worker进程,并向该进程发送特定的信号,将接收的connection转给worker进程处理,进程重入队列;发送请求转交socketWorker进程处理请求返回结果;返回结果问题解决了,但对于这个问题nodejs怎么看呢?Ars系统Master进程终端Worker进程自己动手丰衣足食,从验

文档评论(0)

tmd2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档