Your SlideShare is downloading. ×
前端&服务器
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

前端&服务器

937
views

Published on


0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
937
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
18
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. 前端 & 服务器
    郑新林
  • 2. 分享的主题
    前端的代码结构。
    我们需要什么样的服务器 。
    前端的开发框架。
  • 3. 前端的代码结构图
  • 4. 前端的代码开发图
  • 5. 当前的问题
    集中式管理的问题:
    分支庞大,效率不高。
    分支间可能存在互相干扰。
  • 6. 优化方案分析 – 拆封
    A产品
    B产品
    C产品
    (新)各个产品线独立更新
  • 7. 拆分代码结构
  • 8. 拆分代码结构
  • 9. 我们需要什么样的服务器
    稳定性,稳定压倒一切
    发布效率,效率!!!
    优良的性能
  • 10. 拆分后的优势
    产品线独立,互相不干扰。
    分支体积变小,提高操作效率。
    发布不阻塞。(需要发布平台支持)
  • 11. 现行的发布流程
    集合,一起通过独木桥
  • 12. 拆分后的发布流程
    各找各妈,各回各家
  • 13. AONE上面如何变化
    发布过程几乎和原来一样
    发布窗口是原来的N倍
    选择代码分支的地方,选择变多
    发布的产品线变多
    ….
    OPS怎么办? 三头六臂~
  • 14. 发布窗口的控制问题
    Why OPS
    绕过OPS!!!
    权限下放,人人都能发布到预测试
    大家愿意么?
    Aone的现有流程能保证分支不丢失
  • 15. 发布流程控制
    发布流程:
    Aone获取发布权
    锁定不让其他发布介入
    Aone发布
    QA预发布验证
    成功
    失败
    响应,发布上线
    版本回滚
    预发布成功,则QA响应发布流程,发布上线
    预发布失败,则发布服务器撤销刚才的发布,释放发布窗口
  • 16. 改进能带来什么?
    发布效率,让发布不再煎熬
    响应更迅速,不再纠结发布窗口锁定
  • 17. 我们应该改变Aone
    而不是被aone改变
    相比他们,我们对于前端服务器的需求更清晰
    改变Aone, Why not?
  • 18. 前端开发框架
    代码结构
    服务器
    其实都是前端开发框架的一部分
  • 19. 前端开发框架
    对多人、多团队的开发 提供良好的支持
    开发、测试环境(本地、线上)
    测试工具、方法,测试框架( 略…. )
  • 20. 本地开发环境
  • 21. 本地开发环境
    $include(“core/core.js”);
    $include(“lib/template.js”);
    $include(“http://style.china.alibaba/online/cbu/common/alitalk.js”);
    function main(){
    // TODO XXXX
    }
  • 22. 版本控制
    <html>
    <script src=“style/online/cbu/search/2.0/yyyy.$!{JSV_yyyy}.js”></script>
    Aone发布脚本
    cbu/search/yyyy.src.js => cbu/search/yyyy.js
    aone根据当前应用的大版本号 2.0 ,将合并后的代码,发布到
    cbu/search/2.0/yyyy.vnamber.js
    version file (jsv_yyyy = vnumber)
    后端服务器 获取 version file,模板相应更新脚本请求
  • 23. SVN代码结构
    Dev model
    online model
    Model updated
  • 24. VS独角兽方案
    独角兽
    发布代码与分支一样
    独角兽提供线上merge
    解决缓存问题
    问题:
    版本问题,文件的多版本并存问题没有解决
    js文件多级include的文件变动探测问题,没有解决
    需要服务器支持
    需要后端应用支持
    前述方案
    代码发布时,需要aone合并代码
    线上代码是静态的
    多版本并存
    解决缓存问题
    问题:
    版本文件累积(回收机制)
    需要后端应用支持
  • 25. Facebook的静态服务器
    • 静态资源模块化GWT 类似的 PWT
    • 26. 智能分配资源
    不仅仅是页面级别
    用户行为分析
    魏小亮
  • 27. Thank You

×