1. d2-2016-chair.pdfVIP

  • 6
  • 0
  • 约2.67千字
  • 约 36页
  • 2018-04-17 发布于河南
  • 举报
1. d2-2016-chair.pdf

?付宝前后端分离 思考与实践 花名:@苏千 微博:@Python发烧友 Github: @fengmk2 ?付宝体验技术部 致?于 Node .js 在中国的推?和发展 taobao npm, CNode, , koa, urllib, FaWave, 杭JS, 京JS, 沪JS 我们的痛点 设计 设计离技术较远、产品交互体验不佳 两?痛点 前端 职责不清晰、前后端研发体验不好 JAVA 开发 技术保障 测试 为什么要前后端分离 ? 提?研发效率 ? 更清晰的职责划分 ? 更好的?程化: 开发, 单元测试, ?动化集成测试, ?动化UI测试 ? 预期的性能提升 ? 更多请查看 @赫?《淘宝前后端分离实践》 前后端理想分? 按?作职责的前后端分? 我们要做的事 产品设计 设计与技术的融合 ?态化 ?程化 基础技术 应?研发 ?程平台 框架化 ?动化 前后端分离 后端服务 于是我们造了 Chair web framework for alipay Base on koa Node.js “为什么要??造?” 复? ? 让基于 chair 的系统尽可能复?相同逻辑 ? 融合现有内部服务系统 ? 统?的安全策略 ? ?致的开发体验 ? 开发?员?次性学习成本 ? 业务系统重点在业务逻辑 ? 基于 koa Chair 参照物 ? Sofa MVC 是?付宝的Web统?编程模型,是提供给 开发?员的统?Web编程界? ? Webx 是?套基于Java Servlet API的通?Web框架 ? 其他Java web ? HSF High-Speed Service Framework ?个远程调? RPC 框架 ? koa 基于 es6 generator 的 nodejs web 框架 基于 Chair 的前后端分离架构 sofa User chair HTTP / HTTPS Chair APP HTTP rpc HSF biz-layer cache biz-x biz-a biz-b …… Chair 内部结构 HTTP / HTTPS sofa routers chair middlewares cms velocity logger controllers views , utils services mock proxy HSF backend services chair 实现介绍 ? Chair 基于koa 开发,洋葱式 的中间件设计,?常便于扩展。 ?张图展? koa 的?作过程 koa work ?ow HTTP 在 chair 中的运作过程 ??模板 ? 默认模板语? nunjucks: 丰富可扩展的模板引擎, mozilla 出品 ? 兼容渲染 velocity xxoo.vm : 现有绝?部分模板?件? 需修改也能正常渲染 ? 不?持在模板?件??使??魔法远程调?服务 完善的测试 ? 单元测试 ? 代码覆盖率 ? ?动化集成测试 ? ?动化UI测试 尝试中… 单元测试和覆盖率 html 报表查看详细情况 ?动化集成测试 ? 测试要求集成测试 必须请求真实的后 端服务, 不能mock ? 使??动化登录? 段, 通过测试准备 好的各种?户账 号, 实现集成测试 ? 测试?例代码跟单 元测试基本?致 ?动化UI测试 ? 基于totoro 实现夸平台多种浏览器的测试?案. ? ?前 UI 测试还在尝试中, 简单的实验性功能已经通过了, 剩下 就是如何驱动浏览器?为. 部署?案 ? 常规 web 应?部署?式?致 ? tengine + nodejs cluster 运维 ? ?志: 参考 sofa ?志格式, 接?现有监控平台 ? 异常报警, 适配现有运维系统 ? 尽量让 PE 对 chair 的运维跟普通 Web 应??致 对待, 做到知识经验共? ? TODO: 提供 chair nodejs 应?运维?册 DEMO 新旧版本 rt 对? old avg new avg 120 100 s 80 m 间 时 60 应 响 40 20 0 60 90 120 150 180 210 240 稳压QPS 线上?屏加载 rt 对? 性能测试总结 相同压测样本数, 并发数的场景下: ? rt 优化表现: 在 old qps 峰值的时候, new web 依然保证 rt 处于?个正常?平. ? cpu 优化表现: 在 old 单机 cpu 80% 的时候, new cpu在 4

文档评论(0)

1亿VIP精品文档

相关文档