近些年,随着互联网的不断发展,市场变化越来越快,需求变更越来越频繁。为了能够跟上市场变化的脚步,在市场竞争中占得先机,越来越多的研发团队选择微服务架构。微服务架构将复杂而庞大的业务系统拆分成多个小而专的微服务,从而起到降低维护成本、提高交付速度的作用。然而,微服务该如何正确的拆分?如何构建高并发、高可用的微服务架构?又如何与各种分布式技术相结合,来架构我们的业务系统?以及类似跨库的分布式事务与数据查询等难题。针对以上这些微服务更加高端的技术难题,我们特此组织本次培训。
在本次课程中,首先学会站在全局地角度去规划与架构微服务。譬如,如何架构小而专的微服务?如何规划微服务的技术架构,实现去中心化的技术治理与数据管理。在次基础上,课程通过6个微服务的设计模式,讲解在不同的业务场景中进行不同的微服务设计,并在这个过程中讲解与微服务相关的分布式技术,以及跨库的分布式事务与跨库的关联查询等设计难题及其解决方案。
接着,本课程讲解如何将微服务部署在云原生架构中。采用云原生架构以后,可以通过DevOps进行自动化运维,实现快速交付;通过K8s分布式云端平台,进行容器化的分布式云端部署,以实现互联网的高并发、高可用。
培训特色
本课程注重实战,并以工作坊的形式提供很多案例,让学员通过练习掌握微服务架构设计的过程,以及从传统架构向微服务改造的过程。同时,通过大量真实的案例,讲解许多公司在开展微服务转型过程中面临的难题、解决的思路,以及最终的设计。
培训对象
中高级工程师、企业架构师、软件设计师、技术决策/解决方案人员等。
本课程分2天时间讲授。
第一部分 微服务架构设计
第一单元 基于微服务的架构规划
小而专的微服务架构设计
基于微服务的技术架构规划
1、去中心化的技术治理
2、去中心化的数据管理
构建高并发、高可用的微服务架构设计
3、限流措施
第二单元 微服务设计模式及其应用
微服务架构的6种设计模式
案例:电商网站购物功能的设计
实战演练:运用Seata实现微服务的分布式事务
实战演练:基于消息实现微服务的分布式事务
案例:电商网站下单服务的设计
单一职责原则与领域驱动设计
实战演练:微服务间解决跨库关联查询的设计
案例:电商网站支付功能的设计思路
案例:电商网站多渠道支付的微服务实现
案例:大数据与微服务结合的架构设计
实战演练:运用NoSQL数据库实现海量订单数据的实时跟踪
案例:12306的异步化操作
实战演练:运用Springcloud Stream实现电商网站异步化操作的设计
微服务设计的重要原则:无状态设计
第三单元 架构安全与服务网关
服务网关在微服务架构中的作用
微服务前后端分离的架构设计
负载均衡的难题:Session管理
蓝绿发布、滚动发布、灰度发布与金丝雀发布
权限验证与安全保障
智能路由与服务迁移
过滤器的设计与配置
实战演练:设计服务网关、智能路由与断路器
第二部分 DevOps自动化运维
第一单元 DevOps自动化运维
DevOps的核心概念
基于DevOps的软件开发
DevOps自动化发布与运维平台
代码仓库与版本控制
持续集成/持续交付CI/CD
单元测试与契约测试
代码规范性检查
分布式云平台与容器化部署
第二单元 容器技术与Docker实操
Docker的基本原理
1. 虚拟化技术 vs. 容器技术
2. 容器技术的标准化概念
Docker运维实战
演练:微服务如何打包制作Docker镜像
演练:如何搭建私有镜像仓库Docker Registry
用Docker部署和运维rabbitMQ
用Docker部署和运维mysql
第三单元 分布式云部署与K8s实操
分布式容器管理工具Kubernetes
基于Kubernetes的运维实操
基于yaml文件的微服务部署与弹性扩展过程
Node, Pod, Deployment, Service等基础组件及其实操
Label标签、Selector选择器及其实操
K8s的访问类型ClusterIP、NodePort、LoadBalancer及Ingress
Kubernetes的三种IP及其在项目中的运用
有状态应用的部署及无头服务的应用
K8s的存储类型:存储卷、持久化存储卷与StorageClass
K8s的权限管理:Account、Role、RoleBinding及其应用
集群调度:亲和性(Affinity)、污点(taints)与容忍(tolerations)
1)从Git服务器上下载代码、编译、测试、打包
2)静态代码规范检查与形成测试报告
3)制作Docker镜像并上传本地私服
4)执行脚本进行灰度发布与K8s分布式云端部署
第四单元 微服务开发与云端部署
用实际项目演练微服务开发的整个过程
1. 演练:从单体应用到微服务的设计转型过程
2. 微服务开发的组织形式:父项目与基础平台
3. 微服务开发的组织形式:多环境配置
4. 前端、聚合层、原子服务层的微服务设计
5. 服务网关的设计:用户权鉴与智能路由
微服务开发高阶:
1. 在分布式环境中高可靠地部署Nacos集群
2. 演练:如何实现跨语言的微服务调用
3. 演练:如何实现高并发下的优雅降级
4. 微服务间调用的监控与调优
第五单元 云平台监控与日志采集
云平台安全可靠运行的重要意义
Prometheus系统监控与运维
EFK日志采集与故障分析
汇款、微信转帐
汇款信息:
单位名称:北京市海淀区中科院计算所职业技能培训学校
开户行:工行海淀西区支行
账号:0200 0045 1920 0043 667
开户银行代码:1021 0000 0458
微信转账:
步骤一:打开微信,扫描二微码付款时,点击打开微信右下角里的“发现”,在列表界面有一个“扫一扫”选项,点击打开“扫一扫”(如下图):
步骤二:点击打开“扫一扫”后,会出现一个扫描框,将中科院计算所培训中心二维码/条码放入框内,即可自动扫描,并显示支付信息,输入付款金额。
(中科院计算所培训中心二维码)
步骤三:点击 “添加付款备注”,填写付款人姓名和单位全称,所有信息核对无误后,点击“确认付款”,完成支付。