上海品茶

您的当前位置:上海品茶 > 报告分类 > PDF报告下载

企业级 Node 基础框架——EGG(36页).pdf

编号:91263 PDF 36页 3.82MB 下载积分:VIP专享
下载报告请您先登录!

企业级 Node 基础框架——EGG(36页).pdf

1、 企业级 Node 框架天猪(atian25)阿里游戏-前端组eggNode.js in Alibaba Grouphttp:/ Java-基础设施 Node-灵活,快速迭代Why Node?JavaScriptThe Worlds BestProgramming Languagehttp:/ a jokeNode应用Node开发者越来越多But基建缺失重复建设各自为战Node.js 开发者越来越多,但是真正涉足基础技术的人员还是那么少,那么分散出现非常多的重复性技术问题和重复建设非常多不合理地使用 Node 进行 Web 开发,也没有一套统一的规范可以参考越来越多的 Node 应用出现,需要

2、保证高可用我们遇到什么痛点?阿里是业界最早的一批使用 node 来做线上大流量应用的公司201120132015.112016.09egg 正式开源,JSConf China 2016 2016.05广泛使用在绝大部分阿里的前端 node 应用egg 第一个内部版本,跨部门闭关共建chair,支付宝基础 Web 框架,egg 前身https:/eggjs.orgzen mode(2015年11月,杭州,闭关开发)HistoryFramework Specifications没有规矩不成方圆,制定了一套完善的 Web 应用规范 约定涵盖了 Web 开发的通用能力,规范了项目的加载机制和目录结构$

3、npm install egg-init-g$egg-init-type simple showcase$cd showcase$npm install$npm run dev$open http:/localhost:7001QuickStartQuickStart/app_root/app/controller/news.jsexports.list=function*newsListController()const hackerNews=this.service.hackerNews;const idList=yield hackerNews.getTopStories();const

4、 newsList=yield idList.map(id=hackerNews.getItem(id);yield this.render(news/list.tpl,list:newsList);QuickStart/app_root/app/router.jsmodule.exports=app=app.get(/,app.controller.home);app.get(/news,app.controller.news.list);app.get(/news/item/:id,app.controller.news.detail);QuickStart/app_root/app/se

5、rvice/news.jsmodule.exports=app=(/*HackerNews Api Service*/class HackerNews extends app.Service*getItem(id)const host=this.ctx.app.config.news.config.serverUrl;const url=$this.serverUrl/item/$id.json;const result=yield this.ctx.curl(url,dataType:json);return result.data;*getTopStories().QuickStart/a

6、pp_root/config/config.default.jsexports.news=pageSize:30,serverUrl:https:/hacker- MVC 而已?强大+灵活的插件机制支撑了生态共建,又可以在不同业务场景下灵活定制实现差异化.专业的事交给专业的人,各自聚焦在各自的专业领域核心功能高度插件化egg-view-nunjucks/egg-security/QuickStart/app_root/config/plugin.jsexports.view=enable:true,package:egg-view-nunjucks,;/plugin_root/package.

7、jsonname:egg-view-nunjucks,eggPlugin:name:view,dep:security,/env:插件机制相同的 API,不同的底层实现egg-view-nunjucksegg-view-react求同存异yield this.render(news/list.tpl,list:newsList);生态共建egg-securityegg-mysqlegg-validateegg-clusteregg-schedule看起来有点意思但怎么感觉像 Grunt 那么烦?每个项目都要单独配置?基于各种框架开发的应用egg+pluginsKOAChair(蚂蚁)nut(U

8、C)aliyun-egg(opensource)frameworks.DeveloperTeamArchitectEcosystemCommunityFrameworkFramework/framework_path/lib/framework.jsconst path=require(path);const egg=require(egg);const EGG_PATH=Symbol.for(egg#eggPath);class Application extends egg.Application get EGG_PATH()return path.join(_dirname,./);mo

9、dule.exports=Object.assign(,egg,Application,Agent,);理想的企业级 Web 开发框架应该做什么?编程模型约束丰富的扩展点测试工具包安全跨语言 RPC日志模板渲染会话管理错误处理进程管理分布式中间件支持内建强大的安全机制egg-security 内置的安全插件统一管理,默认开启,零配置集合了阿里在前端安全的经验积累csp/csrf/nosniff/hits/xframe/xssdomain white list/safeHtml/safeJs/跨语言 RPC前后端分离带来了 node 和其他语言通信的问题阿里巴巴是 Java 的天下,但对跨语言支

10、持并不友好融入后端生态圈才能生存和成长Why跨语言 RPC用 node 实现 Java 的 RPC 框架(服务治理,序列化.)Jar2Proxy JAR 包分析工具,生成 node 调用代码通过插件链接 RPC 和 Web 框架How跨语言 RPC开启插件配置依赖生成代码调用服务企业级日志APPHTTPServiceRPCServiceDBhttp-server-digest.logrpc-server-digest.logrpc-client-digest.logerror-logcustom1custom2全链路跟踪UserAPPbiz1biz2accountsmspaymenttrace

11、Id:0ad11b56263330这么多插件和框架,生态和质量咋样?教科书式的开源社区协作模式通过 github pull requests 工作流进行异步协作单元测试覆盖率 95%,travis-ci/appvoyer/snyk/codecov代码风格严格遵循 eslintkoa 核心开发者:fengmk2 dead-horseegg 在内部的开发时的一些数据截止到 9 月份,共 286 天,提交了 5783 个 commits 658+issues,1000+merge requests,1708 CI 构建10 个核心开发者,37+活跃的插件开发者/参与者100+个

12、插件开发期辅助tnpm/npminstall 安装速度提升 6倍,安全预警,私有仓库semver/autod 依赖升级更简单,更值得信赖egg-mock/egg-ci/无痛的编写单元测试alinode 性能/内存泄露问题分析的杀手锏egg-development/开发期辅助,自动重启等大规模真实业务压力实践成功经受住线上应用考验(阿里巴巴,大流量应用,2年,稳定运行)蚂蚁金服/天猫/农村淘宝/阿里游戏/阿里文学/据不完全统计,目前阿里内部基于 egg 的应用总进程数 10000BenchmarkSceneQPSAvg RT(ms)Stdev RT(ms)Max RT(ms)koa hello107095.022.7445.41egg hello89174.683.56108.21koa view85966.036.35162.53egg view67327.254.81257.58https:/ 2016 Q4发布 egg 1.0发布适用于阿里云的上层框架 aliyun-egg文档完善其他插件

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(企业级 Node 基础框架——EGG(36页).pdf)为本站 (云闲) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
会员购买
客服

专属顾问

商务合作

机构入驻、侵权投诉、商务合作

服务号

三个皮匠报告官方公众号

回到顶部