4006-998-758
3000+课程任你选择
分布式微服务系统架构设计
研发学院 分布式微服务系统架构设计 开课时间:2022-05-09
熊磊光

现任某大数据公司技术总监

曾任华为软件工程师

中国农业大学 信电学院自动化硕士

10年以上软件开发和系统架构设计工作经验,历任软件工程师、高级工程师、技术经理、部门经理、架构师。现公司致力于开发全生命周期的大数据存储,以及大数据平台产品,目前集中在运营商、金融、归档等行业和业务方向。从事技术培训工作5年以上,主讲软件开发和大数据相关技术课程,能够运用 Python, Java, C++等语言,精通Spark、Hadoop, Hive, Map-Reduce 分布式计算系统设计算法,主持和参与过多个大型开发项目,具备架构设计、软件开发和数据分析挖掘能力。具备培训课程开发和组织能力。


查看老师详情
课程内容

课程大纲


第1部分分布式系统概述

第1章什么是分布式系统

1.集中式系统及其弊病

2.分布式系统的概念及其优势

第2章大型业务系统架构的发展历程

1.集中式系统架构的设计

2.多级集中式架构及其弊病

3.动静分离与读写分离的设计

第3章生产型业务系统的分布式设计

1.数据库的横向纵向切分

2.分布式缓存的设计

3.异步化操作与分布式队列

第4章生产型业务系统发展趋势

1.微服务的架构设计

2.服务网格Service Mesh

3.NewSQL数据库

第5章分析型业务系统的分布式设计

1.NoSQL数据库

2.基于Hadoop的大数据平台

3.基于Kylin的多维数据建模

4.运用ElasticSearch解决海量明细查询

 

第2部分分布式系统技术专题

第1章分布式缓存

1.本地缓存vs.分布式缓存

2.分布式缓存设计原理与高可用设计

3.Redis分布式缓存部署

4.Redis分布式缓存设计实践

5.Redis分布式缓存设计应注意的问题

第2章内存数据库

1.内存数据库运行原理

2.内存数据库设计选型

3.Redis内存数据库设计实践

1)内存数据库+异步化技术方案

2)订单系统的优化过程

第3章分布式事务

1.分布式事务的两阶段提交

2.TCC方案

1)TCC方案设计原理

2)Seata与GTS

3)TCC方案的设计实现

3.基于消息的分布式事务

1)基于消息的最终一致性

2)设计实践及其存在的问题

3)基于半消息的设计实践

4)基于消息表的设计方案

第4章分布式锁

1.分布式锁的应用场景及其原理

2.基于数据库的设计方案

3.基于Redis的设计方案

1)基于Redis的设计实践

2)方案存在的问题

4.基于Zookeeper的设计方案

1)Zookeeper的设计原理

2)Zookeeper在服务治理中的应用

3)Zookeeper在大数据中的应用

4)Zookeeper在分布式锁中的设计实现

5.基于etcd的设计方案

1)etcd的特点介绍

2)etcd在分布式锁中的设计实现

第6章分布式消息队列

1.异步化操作与分布式消息队列

2.RabbitMQ, RocketMQ, ActiveMQ与kafka的比较

3.RabbitMQ的设计实践

4.Kafka的设计实践

第7章分布式数据库

1.RMSDB→NewSQL→NoSQL

2.分布式存储CAP理论

3.NoSQL数据库及其原理

4.如何实现高并发大数据查询场景

案例:MongoDB实现大数据秒级查询

5.NewSQL数据库及其原理

6.高并发写入的分布式设计方案

案例:TiDB数据库的分布式方案

 

第3部分服务注册与发现

Spring Cloud Eureka方案

1.Spring Cloud Eureka的系统架构

2.Eureka Server的设计

3.Eureka Client的设计

4.服务发现的设计

使用ribbon的设计

使用feign的设计

5.熔断机制在微服务的设计实现

断路器设计模式

线程池隔离、优雅降级与熔断

Hystrix的断路器设计

服务降级的设计实践

6.高可靠设计与Eureka集群

 

第4部分跨语言访问与服务网格

第1章微服务跨语言访问的意义

1.Eureka跨语言访问设计实践

2.微服务跨语言访问的设计局限

第2章服务网格(Service Mesh)

1.服务网格的概念及其发展历程

2.Linkerd服务网格的设计原理

3.Istio服务网格的设计原理

4.蚂蚁金服Sofa Mosn的设计实践

5.微博服务网格的设计实践

 

第5部分微服务网关

第1章微服务的安全措施与服务网关设计

1.多渠道用户接入

2.请求合法性与用户鉴权

3.灰度发布与金丝雀测试

4.全链路压测

5.流量控制与节流

1)令牌桶算法、漏桶算法

2)Nginx在接入层的流量控制

3)服务层的流量控制设计思路

4)节流的设计实现

第2章路由网关(zuul)的设计

1.智能路由与服务迁移

2.过滤器的设计与配置

3.Zuul的高可靠设计

 

第6部分微服务层的设计

第1章微服务架构的设计模式

1.聚合模式

案例:电商网站购物功能的设计

案例:电商网站下单服务的设计

单一职责原则与领域驱动设计

互联网纵向切分在微服务的实现

纵向切分应当注意的设计问题

避免跨库关联查询的方案设计

2.代理模式

案例:电商网站支付功能的设计思路

3.链式模式

4.分支模式

5.异步消息模式

案例:12306的异步化操作

案例:电商网站异步化操作的微服务实现

6.数据共享模式

 

第2章微服务的无状态设计

Session管理的设计难题

微服务的无状态设计

基于http/rest的无状态低耦合通讯

第3章微服务设计的反模式

1.太多数据迁移

2.数据共享反模式

3.频繁交互反模式

 

第7部分Docker与容器技术

第1章Docker简介

1.Docker vs. 虚拟化

2.Docker的运行方式

3.Docker的基本操作

将微服务部署到Docker中

实践:构建一个微服务系统

 

第8部分基于云的分布式部署与DevOps

第1章DevOps简介

1.为什么需要DevOps

2.微服务的测试过程

3.微服务的发布过程

第2章分布式运维

1.Kubernetes的运行原理解析

2.Kubernetes命令与操作

3.Kubernetes的微服务发布与管理

4.用配置文件在Kubernetes中部署微服务

微服务平台自动化运维设计实践

实践:Git+Jenkins+docker+k8s的自动化分布式部署

 

第9部分分布式微服务设计实践

第1章演练微服务开发的整个过程

1.演练单体应用的微服务转型过程

2.微服务开发的父项目与基础平台

3.微服务开发的多环境配置

4.高可靠的分布式服务治理

5.前端、聚合层、原子服务层的设计

6.异步化的微服务调用

7.服务网关的设计与智能路由

第2章微服务架构的管理与监控

1.配置中心Spring Cloud Config

2.断路监控Spring Cloud Turbine

3.链路监控Spring Cloud ZipKin

第3章分布式容器部署演练

1.制作Jenkins定时任务

2.上传Docker私服

3.部署k8s集群

故障检测与监控

 

第10部分传统架构的分布式技术转型

第1章传统架构微服务转型的过程

1.技术转型

准备工作:Maven→Spring boot

整理分层:MVC层与BUS层的分离

建立微服务:注册中心、服务网关与微服务

2.业务拆分

构建领域模型与限界上下文

业务与数据库的纵向切分

 

第2章企业开展微服务

1.系统的建设规划

2.系统的分析设计过程

3.微服务架构设计与对外接口

4.微服务运营平台的建设

5.企业开展微服务的难题

6.记录型系统 vs. 交互型系统

7.在混合云中构建交互型系统

案例:某金融企业向微服务转型

 

第3章大数据+微服务的转型过程

1.该风控系统的背景介绍

2.互联网转型带来的机遇与挑战

3.后端大数据的转型过程

4.前端微服务的转型过程

返回上一级