大型互联网分(fēn)布式计算与分(fēn)布式架构

大型互联网分(fēn)布式计算与分(fēn)布式架构
    马上咨询

    丛磊  曾任新(xīn)浪云计算首席架构师、新(xīn)浪云计算总负责人,SAE创始人 

    國(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ù)成本