核心课程
Porducts
当前位置:首页    核心课程    IT技术
IT技术
本模块设计采用可视化与沙盘演练相结合的培训方式,将知识体系以可视化方式呈现来完成,对学员的实际专业知识进行咨询指导,帮助团队完善产品开发管理流程,定制符合自己特点的过程、方法和规范,提升组织级产品开发管理水平;以学员更容易理解的方式完成课程,可以达到非常好的培训效果,打开学员的兴趣,为实际工作做好准备。
架构&设计   互联网分布式架构设计

image.png  互联网分布式架构设计课程

image.png  课程天数:2天

image.png  课程介绍

     本课程从最简单的业务设计入手,讨论在架构设计时如何保证业务的高可靠性和高可扩展性,这里面涉及了数据库、缓存、队列、代理等系统的实现原理和使用技巧,也涉及了移动端、前端的常用优化技巧。

image.png  课程收益

     通过本课程,学员可以掌握互联网系统的架构设计技巧,并且掌握如果保证业务数据完整性、如果面对秒杀活动、如果进行业务降级等方法和技巧,有效的提高学员在设计互联网系统时的能力。

image.png  培训对象

     未来或目前从事开发经理工作的高级程序员、开发团队中的设计人员、系统分析人员,开发主管或项目经理等。


image.png  课程大纲

第一单元:高扩展高可靠业务架构基本原理

     • 网站基本架构

     • DNS+HA+Runtime

     • CAP原理

     • 两步提交+三步提交原理

     • 讨论:以一个最简单的业务入手,讨论各个环节的高可靠、高扩展的最简单设计,包括DNS代理Web服务器环节。


第二单元:路由层可靠性

     • DNS可靠性

     • 四层路由、七层路由(nginx)

     • 路由的扩展性、可靠性

     • 健康检查

     • redispatch

     • 无状态路由 vs 有状态路由

     • XFF

     • 讨论:从nginx基本原理epoll进行nginx调优,设计nginx配置文件调优+nginx模块简单编写。


第三单元:缓存系统设计

     • 一致性hash

     • 非阻塞+阻塞

     • LRU

     • 过期时间

     • 多级缓存

     • 数据一致性

     • CDN原理及使用

     • 讨论1:瞬时导致微博长微博系统出现问题,进而引起雪球效果,导致微博整站无法访问,突发的无可预知的类似人工DDOS问题,如何处理?

     • 讨论2:众所周知,CDN常用于静态资源加速,那么动态资源可否使用CDN?

     • 讨论3:memcached和redis实现原理,及作为cache系统的异同


第四单元:WebServer设计

     • 无状态设计

     • 动静分离

     • 隔离技术

     • 并发控制

     • 智能路由

     • L1 cache

     • 实践:压力测试工具进行压测

     • 讨论:如何防范网络CC攻击


第五单元:队列系统

     • 顺序队列 vs 并发队列

     • 数据持久性

     • 防止队列阻塞

     • 队列系统设计

     • 队列监控

     • 实践:秒杀是互联网业务最有挑战的需求,从技术上满足秒杀需求的最重要的环节就是变同步为异步,那么这个环节中队列起到什么作用,如何设计一个秒杀系统?


第六单元:关系型数据库

     • 冷备+热备

     • 异地容灾

     • 主从分离

     • partition(分库分表的基本原则)

     • trigger

     • SSD为数据库技术带来的影响

     • 讨论1:在合适的场景选型关系型数据库和非关系型数据库

     • 实践2:利用MySQL explain进行数据库优化实战


第七单元:非关系型数据库

     • 列存储

     • hash型 vs B tree型

     • 对等结构 vs 非对等结构

     • meta一致性原则

     • 分布式系统PAXOS算法

     • 重平衡机制

     • 讨论1:面对关系型、非关系型、缓存型数据存储,业务如何选型?

     • 讨论2:异构数据同步,如何实现? 


第八单元:分布式计算

     • MPI & MapReduce

     • MapReduce和Hadoop的关系

     • 流式分布式计算的原理

     • 计算密集型和IO密集型

     • 实践:利用MapReduce解决实际的词频统计问题

 

第九单元:前端和API设计

     • 合理设计API的原则

     • 页面压缩与缓存

     • 图片展现加速

     • HTML5

     • 响应式设计原则


第十单元:保证业务流畅的技巧

     • 合理的设计cache

     • 合理的“假”显示

     • 异步工作流+回调

     • 功能降级、分流

     • 尽可能做业务冗余

     • 讨论1:用户抱怨访问慢,顺着这个线索,怎么排查?

     • 讨论2:速度是第一用户体验,根据学员的实际问题,来讨论怎么发现业务瓶颈、怎么解决业务瓶颈

    

第十一单元:运维体系

     • App监控和反馈

     • 运维体系架构

     • 灰度发布技巧vs 开发测试环节

     • 怎么通过运维提高服务可靠性

     • 怎么通过运维提高服务质量

     • 怎么通过运维降低服务成本 

     • 讨论:小A负责运维,每次接到变更需求他都小心翼翼上线,上线后刷新业务页面进行确认,这样得上线流程是否可靠?怎么改进?


  课程目录
1、高级系统架构设计实战
2、重构和领域驱动开发
3、软件设计模式最佳实践
4、重构-改善遗留软件质量和设计
5、单元测试实战训练营
6、卓越程序员—编写稳定可靠的优质代码
7、互联网分布式架构设计
8、使用Spring Cloud与Kubernetes构建微服务架构
9、微服务架构与容器化技术赋能企业应用
10、互联网大型高可用高并发架构设计与实践
11、基于Istio的微服务Service Mesh实战
站内搜索
联系电话
010-52883521
24小时全国咨询热线,言语交流更有效
公众平台
QQ客服

点击图标,马上与客服沟通  >>
返回顶部