4006-998-758
3000+课程任你选择
架构设计
研发学院 架构设计 开课时间:2021-08-16
曹雪松

曾担任淘宝技术总监、华胜天成项目经理,精通软件设计的理论、实践和工具,有10年以上的大型项目研发及项目管理经验,曾经策划多个大型项目与网站的架构,主持过访问量达亿级大型网站,熟悉大型网站的优化与运维。掌握多种开发平台熟悉各种中间件框架平台,研究过大量开源的框架平台,经过多年实践形成自己架构风格,擅长Java、javaEE方面的各种技术; 在软件架构、设计模式、详细设计、重构、海量数据处理和优化、中间件技术、nosql等方面有丰富的实践经验亲自参与实施项目:淘宝数据魔方,淘宝服务平台,国电调试所项目管理系统,中科院子午工程数据与通信系统,某大型电子商务网站架构、项目管理、性能优化,苏州金莱克洁具有限公司ERP项目,苏州海关保税加工辅助核销系统等。


查看老师详情
课程内容

课程时长


2天(6小时/天)


课程大纲


课程主题

课程内容

第一部分

架构总览

内容一、      架构整体分析

1.    高性能分析

2.    高可用分析

3.    高可扩展性分析

内容二、案例分析

1.竞拍案例分析

2.秒杀活动案例分析

3.12306案例分析

第二部分

架构理论篇

一、      走正确的路

1.    如何走正确的路

2.    写代码要经历的阶段

3.    大牛的法宝

二、       架构师概览

1.架构师需要懂得哪些知识

2.软件行业架构师两个定义

3.   软件行业互联网与常规企业的区别

4.架构师内部方向

5.架构师不是万能的

6.互联网团队特点

7.架构是要靠团队做出来的

8.架构师会做什么?

9.架构师团队内做的事情

10.互联网常见架构优化项

三、如何成为架构师

1.行业动态要了解,时刻关注技术更新

2.开发时先设计然后在做,做好后总结

3.关注公司业务动态,结合产品观察

4.关注系统运维及相关技术

5.关注业务划分技巧及目的

6.清晰化自己掌握的技术的用途

7.多沟通

四、互联网架构师必备技能

1.卓越的程序员:每个好架构师都是一位出色的程序员

2.抽象思维:驾驭概念的技能是最高潜力

3.技术前瞻性:站在技术的山顶向前眺望

4.透过问题看本质:解决问题和绕开问题

5.跨域知识:要成为百科全书式的智者

6.沟通能力:善于沟通的技术领袖

五、如何构建架构师知识体系

1.从为什么开始

2.知识的获取

3.知识的整理和保存

4.知识的分享

5.知识的利用

6.创新

7.回到原点

六、总结技能表

1.通用技能

2.专业技能

3.web安全

第三部分

高并发架构的设计

一、      高并发架构的通用设计方法

1.    横向扩展

2.    缓存

3.    异步

二、如何提升系统性能(高性能指标)

1.性能优化原则

2.性能的度量指标

3.高并发下的性能优化

4.案例分析1:如何优化JVM内存分配

5.案例分析2:一次双十一抢购系性能瓶颈调优

二、系统怎样做到高可用(高可用指标)

1.可用性的度量

2.高可用系统设计的思路

3.案例分析

三.怎样做到高可扩展(高可扩展性指标)

1.高可扩展性的设计思路

2.存储层的扩展性

3.业务层的扩展性

4.案例分析

第四部分

数据存储架构设计

一、数据库可扩展性设计之数据切分

1.何谓数据切分

2.数据的垂直切分

3.数据垂直切分带来的问题及解决方案

4.数据的读写分离

5.读写分离带来的问题及解决方案

6.数据的水平切分

7.数据水平切分带来的问题及解决方案

8.数据切分后的整合方案

二、非结构化数据的存储

1.思考:58同城帖子表设计、电商商品表设计

2.增加列的表结构应该如何设计

3.NOSQL介绍

4.NOSQL的分类及使用场景分析

5.案例分析:淘宝数据魔方技术架构

6.案例分析:图片存储案例分析

 

第五部分

合理的缓存架构

一、      合理的缓存使用

1.页面缓存

2.页面片段缓存

3.浏览器缓存

4.反向代理服务器缓存

5.数据库前端缓存

6.其它应用缓存

二、分布式缓存简介

1.Memcached

2.Reids

三、Redis常见问题解析

1.如何应对Redis变慢

2.删除数据后,为什么内存占用率还是很高

3.缓冲区:一个可能引发惨案的地方

4.Redis缓存满了怎么办

5.常见的缓存异常:缓存雪崩、缓存穿透、缓存击穿

6.缓存被污染了怎么办?

第六部分

负载均衡

一、      常见的负载均衡方案及案例分析

1.    Nginx/Haproxy

2.    Nginx/Haproy+KeepAlived

3.    LVS+KeepAlived+Nginx

4.    DNS+LVS+keepAlived+Nginx

二、Nginx

1.Nginx重要配置项及配置优化

2.Nginx重要扩展模块

3. Tengine简介

三、LVS

1.网络协议

2.LVS的工作方式

3.LVS的调度方式

四、负载均衡的其它应用

第七部分

架构分层和微服务架构

一、      架构的分层

1.    后端架构分层

2.    前端架构分层

二、分布式服务

1.系统架构:每秒1万次请求的系统要做服务化拆分嘛。

2.微服务架构:微服务化后系统架构要如何改造

3.RPC框架:10万QPS下如何实现毫秒级服务调用

4.注册中心:分布式系统如何寻址

5.分布式Trace:横跨几十个分布式组件的慢请求如何排查

6.负载均衡:如何提升系统的横向扩展能力

7.API网管:系统的门面要如何做

8.多机房部署:跨地域的分布式系统如何做

9:Service Mesh:如何屏蔽服务化系统的服务治理细节?

三、微服务下的运维管理

1.应用性能管理:用户的使用体验应该如何监控

2.压力测试:怎样设计全链路压力测试平台

3.配置管理:成千上万的配置项要如何管理

4.降级熔断:如何屏蔽非核心系统故障的影响

5.流量控制:高并发系统中我们如何操纵流量

四、数据层

1.传统数据层设计

2.异构数据源之数据平台设计

第八部分

实战案例

一、      大型网站架构是如何演进的

1.如何设计一个分布式计数服务

2.淘宝网站架构是如何演进的。

二、分享学习开源项目的方法。


返回上一级