演讲嘉宾:互联网老沈 –分类信息互联网公司 架构师 MT公司技术委员会主席,前BD架构师,X技术部负责人,技术大学年度讲师。负责过BD消息系统,App架构,广告系统,推荐系统,数据库架构。曾多次代表MT公司作为演讲嘉宾参与系统架构师大会,数据库大会,velocity,全球架构师峰会等技术会议,分享MT互联网架构技术。课程信息 互联网架构师应对如今的高并发要具备哪些能力?分布式架构理论,流量从小到大典型站点系统架构遇到的问题及解决方案,大数据量下数据的高可用架构设计,与高可用架构设计的常见准则。 培训特色 本课程来源于讲师在MT多年架构演进中的真实架构分享,不仅是分布式理论与架构设计的原理讲解,还包括大量工作中实际案例,追本溯源的分析了为了满足各类业务需求,系统架构设计的方式方法与方向。 目标收益 通过本课程,学员能够真实掌握互联网高可用架构设计过程中所遇问题的归纳、分析与总结,并有针对性的给出解决方法,课程将重现这些问题的场景,通过实例讲解,并对应到学员的实际工作问题,有效的启发思路、激发兴趣、掌握解决问题的基本方法。 培训对象 各类互联网/IT/软件企业和研发机构的软件架构师、软件设计师、程序员。对于有明确互联网产品业务需求的个人和团队,效果更佳。 学员基础 学员要了解一名“程序员”所需要具备的基本技能。 课程大纲 一、好玩分布式理论与实践 (1)分布式系统概念 (2)原理一:FLP不可能原理 2.1)FLP不可能原理的概念 2.2)FLP不可能原理的工程意义 (3)分布式id生成器 3.1)数据库自增id生成法 3.2)单点服务法 3.3)uuid法 3.4)时间标识法 3.5)类snowflake算法 (4)如何测量服务器之间的时间差 (5)原理二:SMC原理 5.1)SMC原理的概念 5.2)SMC原理的工程意义 (6)消息的可靠投递 6.1)通用消息投递流程 6.2)通用消息投递流程的缺陷 6.3)如何保证消息的不丢失 6.4)如何保证消息的不重复 (7)原理三:CAP原理 7.1)CAP原理的概念 7.2)CAP原理的证明 7.3)CAP原理的工程意义 7.4)一致性模型及工程实践 7.5)2PC简介 (8)CAP原理实践 8.1)如何预防“读写事务”的死锁 8.2)如何保证“查询修改事务”的一致性 8.3)如何实现无锁KV缓存 8.4)如何快速实现简单的伪分布式事务 二、站点架构流量从1到10亿 (1)小流量站点架构与最佳实践 1.1)小流量站点业务需求分析 1.2)小流量站点架构抽象 1.3)小流量站点架构选型 1.4)LAMP的优势与建议 1.5)小流量站点核心矛盾分析 1.6)DAO与ORM优化 (2)中等规模站点架构与最佳实践 2.1)中等规模站点业务需求分析 2.2)中等规模站点架构抽象 2.3)中等规模站点架构选型 2.4)分布式架构 2.5)动静分离技术 2.6)主从同步与读写分离技术 2.7)负载均衡与DNS轮询技术 2.8)中等规模站点核心矛盾分析 2.9)业务/数据/代码垂直拆分技术 2.10)CDN与静态加速技术 (3)大流量站点架构与最佳实践 3.1)大流量站点业务需求分析 3.2)大流量站点架构抽象 3.3)大流量站点架构选型 3.4)性能与成本的技术转型建议 3.5)大流量站点核心矛盾分析 3.6)深度分层架构设计 3.7)水平拆分技术 3.8)服务化实践 3.9)反向代理技术 3.10)可用性技术 3.11)框架抽象技术 3.12)实时化技术 (4)超大流量站点架构与最佳实践 4.1)大流量站点业务需求分析 4.2)大流量站点架构抽象 4.3)大流量站点架构选型 4.4)大流量站点核心矛盾分析 4.5)架构蜘蛛网解耦方案 4.6)配置中心技术分析 4.7)消息总线的适用场景 4.8)柔性服务技术 4.9)服务治理简介 4.10)中间件技术 4.11)自动化方向 4.12)产品智能化方向 (5)未来的挑战 5.1)无线化的架构的挑战 5.2)大数据实时计算的挑战 5.3)多机房多活的挑战 5.4)多架构模式 5.5)自动化的未来 三、大数据时代的数据库软件架构设计与实践 (1)数据库设计基本概念 (2)数据库架构-可用性设计与实践 2.1)读高可用设计 2.2)写高可用设计 2.3)实战解决方案 (3)数据库架构-读性能设计与实践 3.1)索引提速设计 3.2)从库扩容设计 3.3)缓存扩容设计 (4)数据库架构-一致性设计与实践 4.1)主从不一致解决方案 4.2)缓存不一致解决方案 (5)数据库架构-扩展性设计与实践 5.1)秒级扩容方案 5.2)字段扩展方案 5.3)数据迁移方案 (6)数据库架构-水平切分设计与实践 6.1)“单Key型”表结构水平切分 6.2)“1对多型”表结构水平切分 6.3)“多对多型”表结构水平切分 6.4)“多Key型”表结构水平切分 (7)数据库中间件与分库SQL实战 7.1)IN语句的玩法 7.2)非patition key上的SQL玩法 7.3)夸库分页的玩法 四、分布式系统通用设计准则 (1)系统拆分准则 1.1)系统拆分业务举例 1.2)系统拆分方法论 1.3)自顶向下逐层分解的设计实践 (2)灾备准则 2.1)机房内故障可用性设计 2.2)机房故障可用性设计 2.3)灾备常见实践 2.4)过载保护算法 2.5)异构服务器的负载均衡 (3)水平扩展准则 3.1)接入层水平扩展设计 3.2)逻辑层水平扩展设计 3.3)数据层水平扩展设计 (4)限流准则 4.1)账户级限流设计 4.2)ip级限流设计 4.3)调用级限流设计 4.4)流量的区分 (5)降级原则 5.1)系统降级 5.2)业务降级 (6)异步原则 6.1)业务异步设计 6.2)消息总线的异步作用 6.3)站点线程模型的最大问题 6.4)异步服务模型框架 (7)分离原则 7.1)读写分离技术 7.2)动静分离技术 7.3)线上访问与后台访问分离 7.4)在线访问与离线访问分离 (8)监控原则 8.1)服务器监控技术 8.2)服务存活性监控技术 8.3)日志监控 8.4)接口监控 8.5)语义监控 五、大作业实战 (1)秒杀系统设计实战
|