架构师
其他
微服务
推荐课程
average > 0 ? $model->average . '分' : '10.0分' ?>

微服务(SpringCloud)、可观测性与云原生架构

哈瑞

一线互联网行业 高级架构师

现任BAT公司某技术中心高级架构师;曾在美团点评、唯品会工作,从事广告平台、电商平台相关的架构设计与团队管理工作。
中科院软件研究所计算机专业硕士毕业,出版过2本著作:
在高并发高可用架构,业务建模,DDD领域,积累了10年工作经验,经历过游戏,社交,广告,电商等各种类型的项目先后出版两本书籍。曾任上海交大继续教育学院兼职讲师,教授Java与数据结构基础,网络与Web,曾任美团点评的校招面试官,搜索与推荐平台,电商运营平台,电商商品,库存体系 ,广告平台,数据中台。

服务过的企业:
广州赛意
深圳创维-RGB电子
招联消费金融
中移
酷开
银联

现任BAT公司某技术中心高级架构师;曾在美团点评、唯品会工作,从事广告平台、电商平台相关的架构设计与团队管理工作。 中科院软件研究所计算机专业硕士毕业,出版过2本著作: 在高并发高可用架构,业务建模,DDD领域,积累了10年工作经验,经历过游戏,社交,广告,电商等各种类型的项目先后出版两本书籍。曾任上海交大继续教育学院兼职讲师,教授Java与数据结构基础,网络与Web,曾任美团点评的校招面试官,搜索与推荐平台,电商运营平台,电商商品,库存体系 ,广告平台,数据中台。 服务过的企业: 广州赛意 深圳创维-RGB电子 招联消费金融 中移 酷开 银联

课程费用

6800.00 /人

课程时长

4

成为教练

课程简介

深入解析微服务架构下的核心问题,包括服务拆分、治理、部署等关键知识点。结合实战案例,帮助学员掌握微服务架构的设计与实践,打造高效、稳定的微服务系统。

目标收益

掌握微服务架构的核心原理,提升系统设计与开发能力。
学会微服务治理策略,提高系统可维护性与可扩展性。
深入了解微服务部署与运维,为职业生涯增加竞争力。

培训对象

课程大纲

第1天 - 微服务框架与可观测性
0、序言:课程脉络、
技术理念与价值观
1.架构的道与术:什么是“术”?什么是“道”?道与术的关系?
2. 架构的3角关系:
技术架构、业务架构、组织架构
3. 技术架构 - 互联网的4高的区别与联系:高并发、高可用、高性能、高可靠
4. 业务架构 - 业务建模、DDD与微服务拆分
5. 组织架构 - 技术委员会/架构委员会的作用、康威定律
6. 大型互联网架构演进史
7. 架构与公司规模/公司发展阶段的匹配度小公司(几十/百)、中型公司(千)、大公司(万)
8. 技术的标准化:从“游击队”到“正规军”,从“小作坊”到“现代化工厂”
9. 技术深度与广度的平衡问题
10. T字型发展
第1单元 业界微服务框架选型与核心原理 1.业界微服务框架技术选型与原理: SpringCloud/Dubbo/Pigeon/OSP/grpc
2.基于http的RPC(http1.0/1.1/https/http2/http3)
3.基于tcp的RPC(epoll/Java NIO/Netty)
4.异步RPC:真异步 vs. 假异步
高阶内容:Streaming RPC,协程
第2单元 从SpringBoot进化到SpringCloud 1. 基石 - Java3大特性:反射、注解、动态代理
2. 从SpringBoot到SpringCloud
(1) 嵌入式Tomcat
(2) SpringBoot Starter
(3) SpringBoot扩展点与插件机制
(4) SpringBoot如何对注解发扬光大-自动化注解
3. SpringCloud与其它微服务框架的融合
(比如阿里的Dubbo,腾讯tRPC)
第3单元
服务发现与负载均衡:Nacos/Ribbon/Feign
1. 业界常用服务注册与发现框架(Zookeeper、Nacos、Consul、 Eureka、ETCD)
2.为什么ZK不适合作为服务发现/注册中心?
3.使用Redis作为服务发现/注册中心是否可行?
4.服务熔断与摘除机制:服务器摘除与客户端摘除
5. 注册中心与服务发现 - Nacos
6. 负载均衡 – Spring Cloud Ribbon
7. 远程调用- Spring Cloud Feign
第4单元
微服务可观测性 - Logs
1.云原生 – 什么叫“可观测性”?
可观测性的背景、思维理念
2.Logs:分布式日志采集与检索
(1)OpenTelemetry-Logs规范与协议
(2)服务端日志检索方案1:ELK
(3)服务端日志检索方案2: Loki
第5单元
微服务可观测性 - Trace
Trace(分布式链路追踪)
1.OpenTelemetry-Trace规范与标准
2.服务端框架选项:Jaeger、ZipKin、SkyWalking
3.OpenTelemetry协议到Jaeger/Zipkin/Skywalking协议的转换
4.非侵入式上报: Java Instrumentation与字节码增强技术
5.侵入式上报
Spring Cloud Sleuth + OpenTelemery SDK
第6单元
微服务可观测性 - Metrics
1.Metrics:自动化指标采集与监控
(1)OpenTelemetry-Metrcis规范
(2)如何自动化埋点上报
2.Promethus
(1)Promethus出现的背景
(2)Promethus的架构
(3)OpenTelemetry与Promethus的整合
3.进阶 – 从DevOps到AIOps
第2天 - 微服务架构下的几大核心问题
第1单元
微服务拆分与
DDD领域划分
1.微服务拆分的N种拆法:微服务与宏服务
2.微服务拆分 与 领域划分是个什么关系?
3.如何用DDD指导微服务拆分?
第2单元
微服务的容量规划、限流、熔断、降级
1.微服务的容量规划:预估方法与压测方法
2.微服务限流
3.微服务熔断、超时与重试
4.微服务降级
第3单元
服务间的分布式事务
0. 不会分布式事务,等于不会微服务
1. 日常工作中所有分布式事务场景:
(1)DB与DB的分布式事务,
(2)DB与MQ的分布式事务,
(3)DB与服务的分布式事务,
(4)服务与服务的分布式事务
2. 分布式事务解决方案对比与分析:
2PC, TCC, 最终一致性,1PC,对账
3. 分布式事务典型案例剖析:电商平台库存系统
4. Seata分布式事务框架与分布式数据库
第3天 – 云原生基础 – 从Docker到K8S
第1单元 Docker到底是个啥
1. 容器的本质
2. Docker - 容器和镜像是个什么关系
3. Docker技术对开发、测试、运维带来的变更
第2单元 Docker实战 1.Docker安装
2.案例1: 下载、运行tomcat镜像
3.案例2: 进入容器内部一探究竟
4.案例3: 制作war包镜像并运行
5. Docker命令总结
第3单元
Docker镜像的基本原理 -
镜像分层
1. 为什么会有镜像分层?
2. Linux堆叠文件系统原理:AuFS/OverlayFS
3. 镜像的分层结构
4. 镜像仓库:Docker Hub/Harbor/Nexus 3
第4单元
Dockerfile详解
1.容器和镜像,先有鸡,还是先有蛋?
2.Docker commit
3.Dockfile究竟用来干嘛
4.Dockfile常用命令详解
(RUN/CMD/ENTRYPOINT/EXPOSE/WORKDIR)
5.案例:tomcat war包的Dockfile
6.Maven插件与Docker集成
第5单元
Docker挂载Volume
1. 为什么会有Volume、挂载这种概念?解决什么问题?
2. 创建Volume并挂载
3. 匿名Volume
4. Dockfile中挂载Volume
第6单元 Docker背后的Linux原理 1. cggroups
2. namespace
3. 绑定挂载机制
4. 联合文件系统
第7单元
从Docker到K8S
1. PaaS之战:从Docker到K8S
2. CNCF基金会
3. K8S架构介绍
4.K8S架构缺陷 – 各个大厂做的性能与高可用优化
5.什么叫容器编排? - K8S和Hadoop Yarn的类比
6. 虚拟机上云和容器上云的关键差别
第8单元
K8S编排的基本单位-Pod
1.为什么引入Pod这个概念?
Pod和容器的区别?
2. 3个实际案例阐释Pod的作用
案例1: c++共享内存 - 多进程通信
案例2:Java war包与Tomcat容器
案例3:微服务与日志收集Agent
第9单元
K8S API入门
1.K8S Restful API
2.GVK
3.究竟什么叫Workload?
4.Workload的5种类型:Deployment/StatefulSet/DaemonSet/Job/CronJob
5.Workload和 Pod什么关系?
第4天 云原生进阶 - 微服务与云原生融合
第1单元 微服务部署- K8S Deployment详解
1.Deployment yaml详解:Metadata与PodSpec/PodTemplate
2. Deployment发布策略:滚动发布和Recreate
3. 调度的亲和性与反亲和性:
(1)node亲和性
(2)pod亲和性
(3)软/硬亲和性、反亲和性
第2单元 Pod进阶:
生命周期与状态
1. init Container
2. postStart Hook
3. 存活探针
4. 就绪探针
5. 启动探针
6. preStop Hook
7. Pod状态与Container状态
第3单元 Service:
微服务框架与K8S如何整合
1.K8S Service使用与原理:
ClusterIP / NodePort / LoadBalancer /ExternelName
2. K8S Service与 微服务的service的关系
3. 如何把SpringCloud框架和K8S整合?
第4单元 有状态应用:卷与存储、StatefulSet 1. Volume
2. PV / PVC
3. Storage Class
4. Local PV
5. Projected PV(ConfigMap/Secret/Downward API)
6. StatefulSet与Deployment关键差异
第5单元 扩展K8S API与Operator 1.CRD 与 CR
2.Controller与Operator
3.自定义API脚手架:KubeBuilder
4.自定义workload
典型案例:
(1)原地升级(2)如何支持灰度发布?
第6单元 富容器 – 遗留老系统上云 1.遗留老系统如何上云问题?
2.上云的2个模式:微服务上云、富容器上云
3.富容器的优缺点
4.富容器的实现原理 – 如何把容器当物理机用
(1)容器与1号进程
(2)自定义富容器Operator
(3)原地升级发布
第7单元 运维标准化与PaaS平台 1.云的合规性问题:公有云/私有云
2.虚拟机跑容器 vs. 物理机跑容器
3.K8S集群的几种隔离模式
4.运维的挑战:多租户/多机房/多集群的管理问题
5. CI/CD工具与云平台的结合
6. 基于云的同机房/跨机房服务路由
7. 高阶:当云原生遇上异地多活/单元化
第8单元 容器网络 1.网络基本原理 – 交换机(2层网络) 与 路由器(3层网络)
2.Host网络模式
(1)Host网络模式原理
(2)Host网络模式局限性与解决办法
3.容器网络的引入
4.公有云:VPC与CIDR
5.隧道技术的基本原理
6.OverLay网络: 网络虚拟化 与 Vxlan
7.路由网络: flannel host-gw
8.UnderLay网络: VPC
9.容器网络的规划与技术选型
第1天 - 微服务框架与可观测性
0、序言:课程脉络、
技术理念与价值观
1.架构的道与术:什么是“术”?什么是“道”?道与术的关系?
2. 架构的3角关系:
技术架构、业务架构、组织架构
3. 技术架构 - 互联网的4高的区别与联系:高并发、高可用、高性能、高可靠
4. 业务架构 - 业务建模、DDD与微服务拆分
5. 组织架构 - 技术委员会/架构委员会的作用、康威定律
6. 大型互联网架构演进史
7. 架构与公司规模/公司发展阶段的匹配度小公司(几十/百)、中型公司(千)、大公司(万)
8. 技术的标准化:从“游击队”到“正规军”,从“小作坊”到“现代化工厂”
9. 技术深度与广度的平衡问题
10. T字型发展
第1单元 业界微服务框架选型与核心原理
1.业界微服务框架技术选型与原理: SpringCloud/Dubbo/Pigeon/OSP/grpc
2.基于http的RPC(http1.0/1.1/https/http2/http3)
3.基于tcp的RPC(epoll/Java NIO/Netty)
4.异步RPC:真异步 vs. 假异步
高阶内容:Streaming RPC,协程
第2单元 从SpringBoot进化到SpringCloud
1. 基石 - Java3大特性:反射、注解、动态代理
2. 从SpringBoot到SpringCloud
(1) 嵌入式Tomcat
(2) SpringBoot Starter
(3) SpringBoot扩展点与插件机制
(4) SpringBoot如何对注解发扬光大-自动化注解
3. SpringCloud与其它微服务框架的融合
(比如阿里的Dubbo,腾讯tRPC)
第3单元
服务发现与负载均衡:Nacos/Ribbon/Feign
1. 业界常用服务注册与发现框架(Zookeeper、Nacos、Consul、 Eureka、ETCD)
2.为什么ZK不适合作为服务发现/注册中心?
3.使用Redis作为服务发现/注册中心是否可行?
4.服务熔断与摘除机制:服务器摘除与客户端摘除
5. 注册中心与服务发现 - Nacos
6. 负载均衡 – Spring Cloud Ribbon
7. 远程调用- Spring Cloud Feign
第4单元
微服务可观测性 - Logs
1.云原生 – 什么叫“可观测性”?
可观测性的背景、思维理念
2.Logs:分布式日志采集与检索
(1)OpenTelemetry-Logs规范与协议
(2)服务端日志检索方案1:ELK
(3)服务端日志检索方案2: Loki
第5单元
微服务可观测性 - Trace
Trace(分布式链路追踪)
1.OpenTelemetry-Trace规范与标准
2.服务端框架选项:Jaeger、ZipKin、SkyWalking
3.OpenTelemetry协议到Jaeger/Zipkin/Skywalking协议的转换
4.非侵入式上报: Java Instrumentation与字节码增强技术
5.侵入式上报
Spring Cloud Sleuth + OpenTelemery SDK
第6单元
微服务可观测性 - Metrics
1.Metrics:自动化指标采集与监控
(1)OpenTelemetry-Metrcis规范
(2)如何自动化埋点上报
2.Promethus
(1)Promethus出现的背景
(2)Promethus的架构
(3)OpenTelemetry与Promethus的整合
3.进阶 – 从DevOps到AIOps
第2天 - 微服务架构下的几大核心问题
第1单元
微服务拆分与
DDD领域划分
1.微服务拆分的N种拆法:微服务与宏服务
2.微服务拆分 与 领域划分是个什么关系?
3.如何用DDD指导微服务拆分?
第2单元
微服务的容量规划、限流、熔断、降级
1.微服务的容量规划:预估方法与压测方法
2.微服务限流
3.微服务熔断、超时与重试
4.微服务降级
第3单元
服务间的分布式事务
0. 不会分布式事务,等于不会微服务
1. 日常工作中所有分布式事务场景:
(1)DB与DB的分布式事务,
(2)DB与MQ的分布式事务,
(3)DB与服务的分布式事务,
(4)服务与服务的分布式事务
2. 分布式事务解决方案对比与分析:
2PC, TCC, 最终一致性,1PC,对账
3. 分布式事务典型案例剖析:电商平台库存系统
4. Seata分布式事务框架与分布式数据库
第3天 – 云原生基础 – 从Docker到K8S
第1单元 Docker到底是个啥
1. 容器的本质
2. Docker - 容器和镜像是个什么关系
3. Docker技术对开发、测试、运维带来的变更
第2单元 Docker实战
1.Docker安装
2.案例1: 下载、运行tomcat镜像
3.案例2: 进入容器内部一探究竟
4.案例3: 制作war包镜像并运行
5. Docker命令总结
第3单元
Docker镜像的基本原理 -
镜像分层
1. 为什么会有镜像分层?
2. Linux堆叠文件系统原理:AuFS/OverlayFS
3. 镜像的分层结构
4. 镜像仓库:Docker Hub/Harbor/Nexus 3
第4单元
Dockerfile详解
1.容器和镜像,先有鸡,还是先有蛋?
2.Docker commit
3.Dockfile究竟用来干嘛
4.Dockfile常用命令详解
(RUN/CMD/ENTRYPOINT/EXPOSE/WORKDIR)
5.案例:tomcat war包的Dockfile
6.Maven插件与Docker集成
第5单元
Docker挂载Volume
1. 为什么会有Volume、挂载这种概念?解决什么问题?
2. 创建Volume并挂载
3. 匿名Volume
4. Dockfile中挂载Volume
第6单元 Docker背后的Linux原理
1. cggroups
2. namespace
3. 绑定挂载机制
4. 联合文件系统
第7单元
从Docker到K8S
1. PaaS之战:从Docker到K8S
2. CNCF基金会
3. K8S架构介绍
4.K8S架构缺陷 – 各个大厂做的性能与高可用优化
5.什么叫容器编排? - K8S和Hadoop Yarn的类比
6. 虚拟机上云和容器上云的关键差别
第8单元
K8S编排的基本单位-Pod
1.为什么引入Pod这个概念?
Pod和容器的区别?
2. 3个实际案例阐释Pod的作用
案例1: c++共享内存 - 多进程通信
案例2:Java war包与Tomcat容器
案例3:微服务与日志收集Agent
第9单元
K8S API入门
1.K8S Restful API
2.GVK
3.究竟什么叫Workload?
4.Workload的5种类型:Deployment/StatefulSet/DaemonSet/Job/CronJob
5.Workload和 Pod什么关系?
第4天 云原生进阶 - 微服务与云原生融合
第1单元 微服务部署- K8S Deployment详解
1.Deployment yaml详解:Metadata与PodSpec/PodTemplate
2. Deployment发布策略:滚动发布和Recreate
3. 调度的亲和性与反亲和性:
(1)node亲和性
(2)pod亲和性
(3)软/硬亲和性、反亲和性
第2单元 Pod进阶:
生命周期与状态
1. init Container
2. postStart Hook
3. 存活探针
4. 就绪探针
5. 启动探针
6. preStop Hook
7. Pod状态与Container状态
第3单元 Service:
微服务框架与K8S如何整合
1.K8S Service使用与原理:
ClusterIP / NodePort / LoadBalancer /ExternelName
2. K8S Service与 微服务的service的关系
3. 如何把SpringCloud框架和K8S整合?
第4单元 有状态应用:卷与存储、StatefulSet
1. Volume
2. PV / PVC
3. Storage Class
4. Local PV
5. Projected PV(ConfigMap/Secret/Downward API)
6. StatefulSet与Deployment关键差异
第5单元 扩展K8S API与Operator
1.CRD 与 CR
2.Controller与Operator
3.自定义API脚手架:KubeBuilder
4.自定义workload
典型案例:
(1)原地升级(2)如何支持灰度发布?
第6单元 富容器 – 遗留老系统上云
1.遗留老系统如何上云问题?
2.上云的2个模式:微服务上云、富容器上云
3.富容器的优缺点
4.富容器的实现原理 – 如何把容器当物理机用
(1)容器与1号进程
(2)自定义富容器Operator
(3)原地升级发布
第7单元 运维标准化与PaaS平台
1.云的合规性问题:公有云/私有云
2.虚拟机跑容器 vs. 物理机跑容器
3.K8S集群的几种隔离模式
4.运维的挑战:多租户/多机房/多集群的管理问题
5. CI/CD工具与云平台的结合
6. 基于云的同机房/跨机房服务路由
7. 高阶:当云原生遇上异地多活/单元化
第8单元 容器网络
1.网络基本原理 – 交换机(2层网络) 与 路由器(3层网络)
2.Host网络模式
(1)Host网络模式原理
(2)Host网络模式局限性与解决办法
3.容器网络的引入
4.公有云:VPC与CIDR
5.隧道技术的基本原理
6.OverLay网络: 网络虚拟化 与 Vxlan
7.路由网络: flannel host-gw
8.UnderLay网络: VPC
9.容器网络的规划与技术选型

课程费用

6800.00 /人

课程时长

4

预约体验票 我要分享

近期公开课推荐

近期公开课推荐

活动详情

提交需求