丛磊 曾任新浪云计算首席架构师、新浪云计算总负责人,SAE创始人
国家可信云评委,工信部数据中心联盟理事。目前就职于白山云科技任技术总监,为企业提供云服务技术。丛老师2006年加入新浪,2008年起从事云计算方向的研发,2009年带领技术团队开发了国内第一个PaaS云计算平台SAE,并发展至今,成为国内最大的PaaS平台。丛老师长期从事分布式系统、云计算方面的一线研发,写过50万行+的代码,拥有两项算法国家专利,之前负责整个新浪云计算业务。
课程介绍
本课程从最简单的业务设计入手,讨论在架构设计时如何保证业务的高可靠性和高可扩展性,这里面涉及了数据库、缓存、队列、代理等系统的实现原理和使用技巧,也涉及了移动端、前端的常用优化技巧。
课程收获
通过本课程,学员可以掌握互联网系统的架构设计技巧,并且掌握如果保证业务数据完整性、如果面对秒杀活动、如果进行业务降级等方法和技巧,有效的提高学员在设计互联网系统时的能力。
课程特色
本课程内容绝对不会讲具体的概念,重点强调如何应用暨实施。
授课方式
培训采用实战的方式,整个培训过程学员需要在讲师的指点下动手操作,以及学员和老师间高互动,1天需要掌握10多种实战技巧,需要不断思考和参与,深刻掌握大型互联网分布式架构设计应用的核心技巧。课堂分组练习,突出实践运用,通过实际演练发现并解决问题。
课程对象
主要针对系统开发人员(架构师、技术经理、技术总监)、设计人员、运维人员、云计算负责人等。
课程大纲
一、高扩展高可靠业务架构基本原理
|
1. 网站基本架构 2. DNS+HA+Runtime 3. CAP原理 4. 两步提交+三步提交原理 讨论:以一个最简单的业务入手,讨论各个环节的高可靠、高扩展的最简单设计,包括DNSó代理óWeb服务器环节。 |
二、路由层可靠性
|
1.互动讨论:从nginx基本原理epoll进行nginx调优,设计nginx配置文件调优+nginx模块简单编写。
|
三、缓存系统设计
|
1. 一致性hash 2. 非阻塞+阻塞 3. LRU 4. 过期时间 5. 多级缓存 6. 数据一致性 7. CDN原理及使用 讨论1:2015年1月22日,陈赫在网上公开宣布离婚,瞬时导致微博长微博系统出现问题,进而引起雪球效果,导致微博整站无法访问,突发的无可预知的类似人工DDOS问题,如何处理? 讨论2:众所周知,CDN常用于静态资源加速,那么动态资源可否使用CDN? 讨论3:memcached和redis实现原理,及作为cache系统异同
|
四、WebServer设计
|
1. 无状态设计 2. 动静分离 3. 隔离技术 4. 并发控制 5. 智能路由 6. L1 cache 实战演练:压力测试工具进行压测。 讨论:如何防范网络CC攻击。
|
五、队列系统
|
1. 顺序队列 vs 并发队列 2. 数据持久性 3. 防止队列阻塞 4. 队列系统设计 5. 队列监控 实战演练:秒杀是互联网业务最有挑战的需求,从技术上满足秒杀需求的最重要的环节就是变同步为异步,那么这个环节中队列起到什么作用,如何设计一个秒杀系统?
|
六、关系型数据库
|
1. 冷备+热备 2. 异地容灾 3. 主从分离 4. partition(分库分表的基本原则) 5. trigger 6. SSD为数据库技术带来的影响 讨论1:在合适的场景选型关系型数据库和非关系型数据库。 实践2:利用MySQL explain进行数据库优化实战。
|
七、非关系型数据库(略讲)
|
八、分布式计算
|
1. MPI & MapReduce 2. MapReduce和Hadoop的关系 a. 流式分布式计算的原理 b. 计算密集型和IO密集型 实战演练:利用MapReduce解决实际的词频统计问题。
|
九、保证业务流畅的技巧
|
1. 合理的设计cache 2. 合理的“假”显示 3. 异步工作流+回调 4. 功能降级、分流 5. 尽可能做业务冗余 讨论1:用户抱怨访问慢,顺着这个线索,怎么排查? 讨论2:速度是第一用户体验,根据学员的实际问题,来讨论怎么发现业务瓶颈、怎么解决业务瓶颈
|
十、运维体系
|
1. App监控和反馈 2. 运维体系架构 3. 灰度发布技巧vs 开发测试环节 4. 怎么通过运维提高服务可靠性 5. 怎么通过运维提高服务质量 6. 怎么通过运维降低服务成本
|