课程信息
互联网架构师应该如何设计大规模互联网系统架构?本课程从介绍一个典型的大规模互联网系统架构出发,深入讨论了互联网架构中接入层、逻辑层、数据层(又分为数据库层与缓存层)的设计准则、关键技术与常见实践。
培训特色
本课程来源于讲师在MT多年的架构实践经验,不只是方法论的讲解,更多是能落地的细节;不仅是的原理讲解,更多实际案例。
目标收益
通过学习本课程,学员能够真实掌握实现一个典型的大规模互联网架构所涉及的技术、常见的问题与解决方案、多种解决方案各自的优缺点、在不同业务场景下的技术选型,有效的启发思路、激发兴趣、掌握大规模互联网架构中解决问题的基本方法。
培训对象
各类互联网/IT/软件企业和研发机构的软件架构师、软件设计师、程序员。对于有明确互联网产品业务需求的个人和团队,效果更佳。
学员基础
学员要了解一名“程序员”所需要具备的基本技能。
课程大纲
主题 |
内容 |
一、大规模互联网系统架构与设计核心准则
|
(1)典型大规模互联网系统架构
(2)可用性的概念以及设计准则
(3)扩展性的概念以及设计准则
(4)负载均衡的概念以及设计准则
(5)一致性的概念以及设计准则
|
二、互联网架构【接入层】核心技术与架构实践
|
(1)http接入层核心技术与架构实践
1.1)http接入层可用性设计
1.2)http接入层扩展性设计
1.3)http接入层负载均衡设计
1.4)http接入层session一致性设计
1.5)DNS轮询的原理与实践
1.6)反向代理技术的原理与实践
1.7)lvs与keepalived的原理与实践
1.8)APP接入的DNS优化
1.9)动静分离与cdn
1.10)典型的http接入层架构设计总结
(2)cdn技术的原理与启示
2.1)cdn简介
2.2)cdn的原理与使用场景
2.3)源站实践
2.4)镜像站与数据推拉同步实践
2.5)数据一致性实践
2.6)智能DNS的核心技术
2.7)回源的概念与预防
(3)tcp接入层核心技术与架构实践
3.1)tcp接入层可用性设计
3.2)tcp接入层扩展性设计
3.3)tcp接入层负载均衡设计
3.4)tcp接入层session的设计、超时检测、session踢出设计
3.5)单机接入20wTCP连接的核心技术
3.6)典型的tcp接入层架构设计总结
(4)接入层安全性设计
(5)典型系统实战-tcp消息推送系统的架构与实践
5.1)tcp消息推送系统解决什么问题
5.2)tcp消息推送系统架构简介
5.3)tcp消息推送系统核心业务流程c2s/s2c/c2c
5.4)聊天消息的可靠投递
5.5)系统消息投递优化
5.6)离线消息的特殊性设计
|
三、互联网架构【逻辑层】核心技术与架构实践
|
(1)接入层线程模型与逻辑层线程模型实现细节
1.1)并发的基本概念
1.2)接入层线程模型简介(IO线程与work线程异步)
1.3)接入层线程模型存在的问题
1.4)逻辑层线程模型简介(纯异步)
1.5)单进程单线程如何做到1Wqps并发核心技术
1.6)纯异步高并发服务模型总结
(2)逻辑层可用性、扩展性、负载均衡性设计与实践
2.1)连接池技术
2.2)id串行化技术
2.3)异构服务负载均衡技术与保险丝算法
(3)互联网逻辑层核心组件与服务
3.1)DAO与ORM的应用场景与解决的问题
3.2)配置中心解决的问题与实践
3.3)消息总线解决的问题与实践
(4)典型系统实战-搜索系统设计与实践
4.1)搜索系统典型业务介绍
4.2)搜索系统典型架构设计
4.3)搜索系统核心实现技术
|
四、互联网架构【数据层-固化存储】核心技术与架构实践(上)
|
(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)缓存的概念与原理
(2)常见缓存的介绍与使用选型
2.1)memcache的介绍与使用场景
2.2)redis的介绍与使用场景
2.3)leveldb的介绍与使用场景
(3)不同业务场景对缓存的典型使用
3.1)只读非高可用业务缓存实践
3.2)只读高可用业务缓存实践
3.3)读写非高可用业务缓存实践
3.4)读写高可用业务缓存实践
(4)缓存架构设计核心
4.1)缓存的可用性设计
4.2)缓存的扩展性设计
4.3)缓存的负载均衡性设计
4.4)缓存的一致性设计
(5)典型系统实战-计数系统的设计与实践
5.1)计数系统典型业务介绍
5.2)列扩展计数系统的实践与缺陷(DB计数)
5.3)行扩展计数系统的实践与缺陷(DB计数)
5.4)KV缓存计数系统的实践与缺陷(缓存计数)
5.5)计数系统终极缓存优化方案
|
六、互联网架构典型协议设计
|
(1)协议的基本概念
(2)常用协议介绍
2.1)文本协议
2.2)二进制协议
2.3)流式xml/json协议
(3)系统设计协议选型
3.1)文本协议的优缺点与选型
3.2)二进制协议的优缺点与选型
3.3)流式xml/json协议的优缺点与选型
(4)协议设计细节
4.1)协议设计如何进行包错位检测
4.2)协议设计如何考虑兼容性
4.3)协议设计如何考虑扩展性
4.4)协议设计如何考虑可调试性
4.5)协议设计如何支持异步
4.6)协议设计如何支持变长
4.7)协议设计如何支持各类业务
5)典型协议设计实战
5.1)DNS系统协议设计
5.2)短域名服务协议设计
5.3)实时监控系统协议设计
5.4)通用统计协议设计
|
|
|
如果您想学习本课程,请
预约报名
如果没找到合适的课程或有特殊培训需求,请
订制培训
除培训外,同时提供相关技术咨询与技术支持服务,有需求请发需求表到邮箱soft@info-soft.cn,或致电4007991916
技术服务需求表点击在线申请
服务特点:
海量专家资源,精准匹配相关行业,相关项目专家,针对实际需求,顾问式咨询,互动式授课,案例教学,小班授课,实际项目演示,快捷高效,省时省力省钱。
专家力量:
中国科学院软件研究所,计算研究所高级研究人员
oracle,微软,vmware,MSC,Ansys,candence,Altium,达索等大型公司高级工程师,项目经理,技术支持专家
中科信软培训中心,资深专家或讲师
大多名牌大学,硕士以上学历,相关技术专业,理论素养丰富
多年实际项目经历,大型项目实战案例,热情,乐于技术分享
针对客户实际需求,案例教学,互动式沟通,学有所获