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