近些年,随着技术的不断发展,市场变化越来越快,需求变更越来越频繁。为了能够跟上市场变化的脚步,在市场竞争中占得先机,越来越多的研发团队选择敏捷开发、快速迭代与互联网分布式架构,云原生的概念孕育而生。云原生=微服务+DevOps+持续交付+容器化,它通过微服务进行设计开发系统,通过DevOps进行持续交付,以容器化的形式进行分布式云端部署。
采用云原生架构以后,可以通过开发微服务,拆解复杂的单体系统;通过DevOps进行自动化运维,实现快速交付;通过K8s分布式云端平台,进行分布式云端部署,以实现互联网的高并发、高可用。但是,如何搭建这样一套DevOps自动化运维平台,如何将微服务系统部署在K8s云端平台,需要开发团队具备更多的服务端实操的能力。为了帮助开发团队解决这些方面的问题,切实地将DevOps与K8s云端平台搭建起来,真正有效地把分布式微服务架构的优势发挥出来,真正实现高并发、高可用。
一、培训目标
经过本课程的学习培训,参训人员能够达到以下目标:
♦ 掌握微服务技术架构原理;
♦ 掌握微服务常用中间件、插件开发原理;
♦ 通过K8s实现Docker集群设计与管理;
♦ 萃取业界云原生技术经验。
二、证书
培训结束,颁发中科院计算所培训中心“微服务于云原生技术”课程结业证书。
一、培训对象
1、系统架构师、高级程序员、资深开发人员;
2、涉及到微服务技术转型的团队负责人、规划师、架构师;
3、涉及到云端DevOps平台部署与交付的运维人员。
本课程分2天时间讲授。
第一单元 基于微服务的架构规划
小而专的微服务架构设计
基于微服务的技术架构规划
构建高并发、高可用的微服务架构设计
案例:基于Sentinel的服务降级实践
演练:电商网站熔断、降级的设计实现
案例:基于Sentinel的限流措施
演练:电商网站运用限流措施实现秒杀功能
第二单元 微服务设计模式及其应用
微服务架构的6种设计模式
案例:电商网站购物功能的设计
实战演练:运用Seata实现微服务的分布式事务
实战演练:基于消息实现微服务的分布式事务
案例:电商网站下单服务的设计
单一职责原则与领域驱动设计
实战演练:微服务间解决跨库关联查询的设计
案例:电商网站支付功能的设计思路
案例:电商网站多渠道支付的微服务实现
案例:大数据与微服务结合的架构设计
实战演练:运用NoSQL数据库实现海量订单数据的实时跟踪
案例:12306的异步化操作
实战演练:运用Springcloud Stream实现电商网站异步化操作的设计
微服务设计的重要原则:无状态设计
总结:微服务的拆分原则
微服务设计的反模式
第三单元 架构安全与服务网关
服务网关在微服务架构中的作用
微服务前后端分离的架构设计
负载均衡的难题:Session管理
蓝绿发布、滚动发布、灰度发布与金丝雀发布
权限验证与安全保障
智能路由与服务迁移
过滤器的设计与配置
实战演练:设计服务网关、智能路由与断路器
第四单元 分布式云原生架构设计
云原生(Cloud Native)的概念
1. 面向互联网分布式系统运维的难点与痛点
2. 云原生=微服务+DevOps+持续交付+容器化bus
3. 云原生架构的核心思想与“12因素(12-Factors)”
4. 云原生的设计实现:Kubernetes、微服务、服务网格
构建分布式云原生架构的思路
1. 微服务架构的弹性可扩容设计需求
2. 分布式架构的有状态应用与无状态应用
3. 构建基于DevOps的自动化发布平台
4. 构建基于云原生的自动化运维平台
分布式云原生的自动化运维平台
1. 基于Jenkins与pipeline构建持续发布平台
2. 基于SonarQube与Jacoco构建质量监督平台
3. 基于Docker+Kubernetes构建容器化部署平台
4. 包含各种分布式缓存、分布式队列、分布式事务的PaaS云平台
5. 基于NoSQL/NewSQL分布式数据库的DaaS数据平台
6. 基于Skywalking的链路跟踪与系统调优平台
7. 基于Prometheus+Grafana的自动化监控告警平台
8. 基于EFK的分布式日志监控平台
Docker容器化技术
1. Docker容器管理与实操
2. Docker镜像管理与实操
3. 使用Dockerfile构建镜像
演练:微服务打包制作Docker镜像
4. Docker仓库管理与实操
演练:搭建私有镜像仓库Docker Registry
分布式容器管理工具Kubernetes
1. Kubernetes的分布式管理运行原理
2. Kubernetes的基本组件及其应用场景:
无状态应用(Deployment)、有状态应用(StatefulSet)、批处理任务(Job)、后台支撑型(DaemonSet)
3. Kubernetes的虚拟网络原理:Node IP、Pod IP、Cluster IP
4. 演练:搭建Git+Jenkins+docker+k8s的自动化运维平台
1)从Git服务器上下载代码、编译、测试、打包
2)静态代码规范检查与形成测试报告
3)制作Docker镜像并上传本地私服
4)执行脚本进行灰度发布与K8s分布式云端部署
Prometheus系统监控与运维
1. 搭建系统监控组件Prometheus实操
2. 搭建监控数据展现组件Grafana实操
3. 设定rules进行系统监控告警实操
4. 设定pushGateway自定义监控与告警实操
EFK日志采集与故障分析
1. 日志采集与故障分析的重要意义
2. 搭建ElasticSearch+Flunted+Kibana日志采集实操
3. 使用Kibana系统监控组件分析与监控系统
4. 在Kibana中进行故障分析与运行监控
汇款、微信转帐
汇款信息:
单位名称:北京市海淀区中科院计算所职业技能培训学校
开户行:工行海淀西区支行
账号:0200 0045 1920 0043 667
开户银行代码:1021 0000 0458
微信转账:
步骤一:打开微信,扫描二微码付款时,点击打开微信右下角里的“发现”,在列表界面有一个“扫一扫”选项,点击打开“扫一扫”(如下图):
步骤二:点击打开“扫一扫”后,会出现一个扫描框,将中科院计算所培训中心二维码/条码放入框内,即可自动扫描,并显示支付信息,输入付款金额。
(中科院计算所培训中心二维码)
步骤三:点击 “添加付款备注”,填写付款人姓名和单位全称,所有信息核对无误后,点击“确认付款”,完成支付。