微服务架构设计与实践培训(在线)课程特色与背景
各有关单位:
技术研究所是国家专门的计算技术研究机构,同时也是中国信息化建设和人工智能建设的重要支撑单位,中科院计算所培训中心是致力于高端IT类人才培养及企业内训的专业培训机构。中心凭借科学院的强大师资力量,在总结多年大型软件开发和组织经验的基础上,自主研发出一整套课程体系,其目的是希望能够切实帮助中国软件企业培养高级软件技术人才,提升整体研发能力,迄今为止已先后为国家培养了数万名计算机专业人员,并先后为数千家大型国内外企业进行过专门的定制培训服务。
近些年,随着互联网的不断发展,市场变化越来越快,需求变更越来越频繁。为了能够跟上市场变化的脚步,在市场竞争中占得先机,越来越多的研发团队选择敏捷开发、快速迭代。然而,越来越庞大的软件系统,越来越复杂的业务逻辑,使得系统维护变得越来越困难,变更成本越来越大,团队工作效率越来越低。许多用户需求需要拖延数月才能交付,使得软件企业痛失有利商机,在市场竞争中处于不利地位。微服务架构正是解决规模化复杂业务系统的应对之策。
然而,微服务应当如何拆分、如何架构?有哪些技术特点与技术难点?如何构建支持微服务的技术中台?如何应对未来的技术更迭?最终又应当如何部署在云端自动化运维呢?为了帮助大家准确理解微服务,合理设计微服务,有效规避微服务转型过程中的那些“坑”,我们特此组织了此次课程。
培训特色
本课程的授课特点是注重实战,授课老师在微服务设计相关领域从业多年,收集了大量的真实案例,会针对项目过程中常见的问题进行汇总、研讨,通过大量的真实案例,详细地介绍微服务设计过程中需要注意的要点以及难点。通过讲师十几年经验的总结与传授,既保证了课程的理论体系完整,又使学员掌握实际工程方法,达到学以致用的目的。
课程大纲
第一部分:微服务之基本概念
培训概要:
想要在快速变化的市场中获得竞争优势,需要打造快速交付的团队。但规模化软件开发团队带来快速交付的困局,解决的思路就是微服务。然而,只有准确理解微服务,理解微服务的“小而专”、“去中心化技术治理与数据管理”,才能真正发挥微服务的优势。
培训收益:
1.理解为什么微服务架构是应对当今激烈市场竞争的解决之道
2.理解规模化团队的组织形式:跨功能团队与微服务架构
3.理解微服务架构如何支持技术架构的快速演化
4.理解微服务架构如何支持未来新技术的转型
培训内容:
1.快速变化的年代需要快速交付
1)快速变化的市场与快速更迭的技术带来发展机遇
2)激烈竞争的新兴市场需要更快速的交付去占领市场
2.规模化团队快速交付的困局
1)烟囱式的开发团队导致烟囱式的软件开发
2)烟囱式的软件开发导致烟囱式的软件交付
解决思路:
1)跨功能团队(特性团队)的组织形式
2)将单体应用改为微服务架构
3.准确理解微服务架构
1)准确理解微服务架构“小而专”的概念提高设计质量
3)准确理解微服务“去中心化的技术治理”去快速技术演化
3)准确理解微服务“去中心化的数据管理”做大数据转型
第二部分:微服务之技术组件
培训概要:
带着学员搭建一套微服务的系统,将其运行起来,在实战的过程中理解微服务的注册中心、生产者、消费者、断路器、服务网关等技术组件的原理与设计过程,从实践中来,到实践中去。
培训收益:
1.切实搭建一套微服务系统并运行起来
2.掌握微服务设计中的各个组件及其参数配置
3.掌握微服务的服务网关及其安全组件、智能路由、服务迁移
4.掌握微服务设计的熔断机制、线程隔离、服务降级、限流措施等方面的设计
5.了解服务网格(ServiceMesh)的基本原理及其设计
培训内容:
1.注册中心的概念与作用
1)Dubbo的简介
2)Zookeeper的简介
3)ETCD的简介
4)NetflixEureka的简介
2.SpringCloudEureka方案
1)SpringCloudEureka的系统架构
2)EurekaServer的设计
3)EurekaClient的设计
4)服务发现的设计
使用ribbon的设计
使用feign的设计
4)熔断机制
断路器设计模式
线程池隔离、优雅降级与熔断
Hystrix的断路器设计
3.微服务的安全措施与服务网关设计
1)多渠道用户接入
2)请求合法性与用户鉴权
3)灰度发布、金丝雀测试与全链路压测
4)服务降级、流量控制与节流
4.路由网关(zuul)的设计
1)智能路由与服务迁移
2)过滤器的设计与配置
3)Zuul的高可靠设计
5.服务网格(ServiceMesh)
1)SpringCloud的跨语言调用
3)服务网格的基本概念及其设计
3)Linked、Istio、SofaMOSN服务网格框架
第三部分:微服务之设计模式
培训概要:
通过实际案例举例,讲解如何运用6种设计模式进行微服务的设计,并且在设计过程中讲解微服务开发经常遇到的一些设计难题及其解决方案,诸如:跨库的关联查询、跨库的事务处理、异步化操作、无状态设计,以及与大数据技术的结合。
培训收益:
1.掌握如何运用6种设计模式进行微服务的设计
2.掌握如何解决跨库的关联查询、跨库的事务处理、异步化操作等设计难题
3.掌握微服务设计应注意的反模式及其设计陷阱
4.掌握微服务进行业务拆分的设计原则
培训内容:
1.微服务架构的6种设计模式
1)聚合模式
案例:电商网站购物功能的设计
微服务前后端分离的设计
分布式事务的两阶段提交
TCC方案与阿里GTS
采用分布式事务解决跨库的事务操作
案例:电商网站下单服务的设计
单一职责原则与领域驱动设计
互联网纵向切分在微服务的实现
纵向切分应当注意的设计问题
避免跨库关联查询的方案设计
2)代理模式
案例:电商网站支付功能的设计思路
3)链式模式
4)分支模式
5)异步消息模式
案例:12306的异步化操作
案例:电商网站异步化操作的微服务实现
6)数据共享模式
高并发写入的分布式设计方案
案例:TiDB数据库的分布式方案
如何实现高并发大数据查询场景
案例:MongoDB实现大数据秒级查询
2.微服务的无状态设计
1)Session管理的设计难题
2)微服务的无状态设计
3)基于http/rest的无状态低耦合通讯
3.微服务设计的反模式
1)太多数据迁移
2)数据共享反模式
3)频繁交互反模式
探讨:如何解决微服务接口太多的问题
第四部分:微服务之进阶实战
培训概要:
老师带着学员演练在真实项目中该如何开发微服务,包括微服务的父项目、多套配置文件、集中式的配置中心,以及如何架构一个既支持微服务又支持领域驱动的技术中台,既能够降低技术门槛,减少开发工作量,又能够易于业务变更,易于架构演化。
培训收益:
1.掌握在真实项目中切实可行地开发微服务
2.掌握高可靠的微服务架构设计
3.掌握微服务的性能测试及性能调优
培训内容:
1.演练在真实项目中开发微服务
1)微服务项目中父项目的设计
2)微服务项目中多套配置文件的设计
3)微服务项目中集中式配置中心的设计
2.演练在真实项目中高可靠微服务架构
1)高可靠注册中心的设计
2)高可靠服务网关的设计
3.演练在真实项目中微服务的性能测试
1)断路器监控Turbine及其应用实践
2)链路跟踪Zipkin与微服务路由优化的应用实践
4)微服务的灰度发布及其金丝雀测试
4)微服务的全链路压测应用实践
第五部分:微服务之自动化运维
培训概要:
运维微服务架构还需要强大的运维平台支持,也就是打造一整套DevOps自动化运维体系。这个体系包括:持续探索、持续集成、持续交付,以及在这个过程中的自动化测试与运维。老师将带领学员实际操作如何搭建这样的平台,如何自动化部署微服务,以及用Prometheus、EFK运维。
培训收益:
1.理解DevOps的概念、作用,以及在微服务架构中如何快速交付
2.实操Git+Jenkins+Docker+Kubernetes自动化运维体系
3.实操Eureka+Config+Turbine+Zipkin在k8s中的云端部署
4.实操Prometheus+Grafana+EFK的线上系统监控与日志采集
培训内容:
1.微服务架构需要DevOps自动化运维
1)剖析传统运维存在的“交付困难”的困局
2)Whobuildwhorunit与DevOps的概念
3)敏捷团队快速交付的持续探索、持续集成、持续交付与按需发布
4)DevOps带来开发人员的负担与自动化运维
2.自动化运维的工作原理
1)Docker容器技术与发布标准化
2)分布式容器部署与Kubernetes
3)实操Git+Jenkins+Docker+Kubernetes的自动化部署过程
3.打造微服务架构的自动化运维体系
1)注册中心Eureka在Kubernetes的分布式部署
2)配置中心Config在Kubernetes的分布式部署
3)断路器监控Turbine与路由优化Zipkin
4.微服务云端架构的系统监控与日志采集
1)Kubernetes的系统监控工具Prometheus+Grafana
2)Kubernetes的日志采集工具EFK
课程主讲
范老师
航天信息前首席架构师,畅销书籍《大话重构》作者,规模化敏捷SPC,软件架构及重构的客座讲师,独立咨询顾问。先后参与了数十个国内大型软件项目,涉及国家财政、军工、税务、医疗等领域的大数据建设、风险防控与人工智能研究,互联网及大数据转型的实践者与倡导者。
课程对象
1、系统架构师、系统分析师、高级程序员、资深开发人员
2、涉及到微服务技术转型的团队负责人、规划师、架构师
3、云服务运营服务提供商规划负责人
备 注
课程费用:原价5900元/人,特别价格2600元/人
(每天晚上19:30-22:00,授课2小时,讨论互动0.5小时)
常年开班,获取最新开班时间或内训报价,咨询:400-061-6586