分布式架构设计训练营
Haley Ying 查看讲师
百林哲咨询(北京)有限公司专家团队成员
自如技术平台负责人,10年一线互联网大厂架构工作经验
浏览:484次
详情 DETAILS

课程简介

在现代软件开发中,架构设计是至关重要的,它决定了软件的质量、可维护性、可扩展性和性能。因此,在开发过程中充分重视架构设计,制定合理的架构设计方案,可以帮助团队在短时间内完成高质量的产品,也有利于项目的后续维护和升级工作。

本课程详细、系统的讲解了软件架构设计的原则、方法和最佳实践,并深入讲解架构的高可用、高性能、高扩展怎么做。课程通过理论加实践,把架构知识归并串联起来,使学员更易掌握架构的主线脉络,掌握软件架构设计的核心知识和技能,提高学员软件设计和开发能力,为未来的软件开发工作打下坚实的基础。

课程收益

1.了解架构的演进与历史,从单体架构到垂直架构到微服务,到云原生架构的产生原因及不同架构的设计思想。

2.掌握架构设计的6步方法,从需求分析、应用架构设计、技术架构设计、物理架构设计、数据架构设计、接口设计完成架构的完整生命周期。

3.掌握应用架构的设计方法高可用的6脉神剑方法

4.了解秒杀的流量拦截方案:机房外部、统一接入层设计、网关设计、缓存设计

5.掌握提升单机性能的核心方法:cpuio

6.掌握单机优化的技术架构优化方法:接口优化、参数优化、业务优化、服务拆分、服务依赖优化

7.掌握单机优化的数据架构优化方法:读写分离、分库分表、数据迁移、NOSQL的使  

受众人群

技术经理、架构师、高级开发工程师

课程周期

318H 

课程大纲

标题

授课内容

模块一:大型互联网架构

1.了解大型互联网架构的特点

(1) 高并发

(2) 大流量

(3) 迭代快

(4) 业务高连续

(5) 大数据

2.明白大型互联网架构的难点

(1) 要高可用

(2) 高扩展

(3) 要高性能

(4) 好的体验

(5) 高响应

(6) 支持海量存储

模块二:架构演进历程

1.了解熟悉单一应用架构、垂直应用架构分布式服务架构、微服务架构、服务网格ServiceMesh等架构特点及关键技术

2.掌握容器化和容器编排技术

3.掌握不同阶段时间选择合适的架构体系能力

4.明白单体架构、微服务架构,中台架构的优缺点

5.掌握基本的架构设计原则

模块三:企业架构设计方法

1. 架构实践全景图

2. 业务架构设计

3. 应用架构设计

4. 技术架构设计

模块四:架构设计6脉神剑

1.明白需求驱动产品迭代生命周期全流程,掌握架构设计的6脉神剑

(1) 产品设计

(2) 应用架构设计

(3) 技术架构设计

(4) 数据领域架构设计

(5) 物理拓扑设计

(6) 接口设计

2.掌握从0到1设计架构能力

3.掌握挖掘需求,技术选型,具备实现能力

模块五:如何成为优秀的架构师

1.掌握架构师所需技能,完善属于自己的技能图谱

2.敢于挑战不同阶段的能力,反求诸己找差距

模块六:堵-IAAS层高可用

1.总结工作中遇到的严重的故障问题

2.双机房高可用

3.数据库主从

4.中间件高可用

模块七:堵-微服务高可用

1.上游不可信:限流及常见的限流算法

2.下游不可信:熔断降级

3.下游超时: 超时控制

4.内部不可信:服务隔离、线程隔离、DB隔离等

5.兄弟不可信:负载均衡

6.外部不可信:重试

模块八:高可用实践

1.控制高可用风险期望的措施

2.完善研发规范

3.高可用解决方案:系统加固、中间件治理 、问题排查等

4.搭建监控告警平台

5.混沌工程

模块九:服务治理与管控工具

1.常见的服务治理平台

2.服务治理平台核心技术分析

(1) 服务分组

(2) 权重调整

(3) 流量路由

(4) 服务熔断配置

3. APM应用实践

  pinpoint、skywalking

4. 监控平台选型

   物理监控、Jvm监控、日志工具

5. jvm问题定位工具

    6. Arthas、Jprofiler、火焰图

模块十:外部流量优化

1.秒杀场景的解决方案

2.堵住机房外流量

3.优化统一接入层,网关层

4.缓存的设计与治理

(1)缓存的使用

(2)缓存的高可用架构

(3)缓存的刷新

4缓存的穿透、击穿、雪崩

模块十一:单机性能优化

1.影响单机性能的2大要素:qps,rt

2.服务自身性能优化(代码,业务,参数优化)能

3.服务纵向优化:Redis缓存设计、异构ES、分库分表、列式存储、IO/内存、缓冲优化

4. 横向优化:降低依赖链路、引入超时机制,快速失败、引入熔断限流、rpc调用升级,http-》dubbo -》 GRPC、同步转异步消息、流式计算flink

5. 架构优化:同步 VS 异步、核心 VS 边缘、前台 VS 后台、升级版本、新存储(tidb  vs mysql)等

模块十二:横向副本优化

1.多域名优化

2.集群机房架构设计

3.冷热资源

4.初识单元化

模块十三:扩展性的落地实现

1.扩展性场景方案

2.好的扩展性设计原则

3.支付平台扩展性设计

4.扩展性设计解决方案:编码扩展、存储扩展、架构扩展

5.JavaAgent、SPI使用能力

6.服务编排,扩展性架构设计

模块十四:云原生架构的建设

1.运维侧选型

2.研发侧CICD建设

3.容器化迁移过程

4.容器化带来的好处

(1) 弹性扩容

(2) 金丝雀发布

(3) 流量治理

(4) 流量染色

(5) 冷热部署

模块十五:架构的哲学

1.明白架构是有性格的,考量非技术因素

2.明白技术从来都不是天外飞仙,靠的都是点滴的积累



企业服务热线:400-106-2080
电话:18519192882
投诉建议邮箱:venus@bailinzhe.com
合作邮箱:service@bailinzhe.com
总部地址:
北京市-丰台区-汽车博物馆东路6号3号楼1单元902-B73(园区)
全国客户服务中心:
天津市-南开区-桂苑路15号鑫茂集团鑫茂军民园1号楼A座802-803
公众号
百林哲咨询(北京)有限公司 京ICP备2022035414号-1