微服务与云原生技术培训班宣传图
近些年,随着互联网的不断发展,市场变化越来越快,需求变更越来越频繁,越来越多的研发团队选择敏捷开发、快速迭代,云原生的概念孕育而生。云原生=微服务+DevOps+持续交付+容器化,它通过微服务进行设计开发系统,通过DevOps进行持续交付,以容器化的形式进行分布式云端部署。为了能够跟上市场变化的脚步,在市场竞争中占得先机,为此我单位决定组织召开“微服务与云原生技术”网络直播培训,具体通知如下:
培训收益:本课程注重实战,并提供很多案例,让学员通过练习掌握微服务架构设计的过程,以及从传统架构向微服务改造的过程。同时,通过大量真实的案例,讲解许多公司在开展微服务转型过程中面临的难题、提供解决的思路,在结合目前最流行的技术架构,详细讲解Docker容器技术,Kubernetes分布式容器管理工具,以及基于Git+Jenkins+Docker+Kubernetes的DevOps自动化云端部署与运维的过程。
参加对象:软件工程师、软件架构师、软件总师、技术总监等相关工程技术人员和软件管理人员。
课程大纲:
一、微服务与云原生概述
1、云原生=微服务+DevOps+持续交付+容器化
2、DevOps与持续集成、持续交付
3、高并发、高可用方案:容器化云平台
4、微服务架构在解决诸多软件问题时的思路
5、软件规模化发展导致软件交付速度的降低
6、微服务如何解决规模化敏捷的问题
二、服务注册与发现
1、实现服务注册与发现的方案
2、Spring Cloud Eureka的系统架构
3、Eureka Server/Eureka Client的设计
5、使用ribbon、feign的设计
6、断路器设计模式
7、线程池隔离、优雅降级与熔断
8、Hystrix的断路器设计
案例:使用Eureka构建微服务系统
案例:Eureka Server/Eureka Client
案例:使用ribbon/feign进行微服务间调用
三、微服务层的设计
聚合模式、代理模式、链式模式、分支模式、异步消息模式、数据共享模式案例分析
案例:分布式事务的两阶段提交
案例:TCC方案与Seata
案例:采用分布式事务解决跨库的事务操作
案例:纵向切分应当注意的设计问题
案例:避免跨库关联查询的方案设计
案例:大型复杂系统异步化操作
案例:异步化操作的微服务实现
案例:TiDB数据库的分布式方案
案例:MongoDB实现大数据秒级查询
案例:微服务的无状态设计
案例:数据共享、频繁交互反模式
探讨:如何解决微服务接口太多的问题
四、服务网关
1、微服务的安全措施与服务网关设计
多渠道用户接入、请求合法性与用户鉴权、灰度发布、金丝雀测试与全链路压测
2、路由网关(zuul)的设计
智能路由与服务迁移、过滤器的设计与配置、Gateway的高可靠设计
五、微服务开发实战演练
1、用实际项目分析微服务开发的整个过程
1.1案例:从单体应用到微服务的设计转型
1.2父项目与基础平台、多环境配置
1.3前端、聚合层、原子服务层的微服务设计
1.4服务网关的设计:用户权鉴与智能路由
2、微服务开发高阶:
2.1在分布式环境中高可靠地部署Eureka集群
2.2案例:如何实现跨语言的微服务调用
2.3案例:如何实现高并发下的优雅降级
2.4微服务间调用的监控与调优
3、微服务的平台建设:
3.1微服务的平台应具备的要素
3.2配置中心Spring Cloud Config
3.3断路监控Spring Cloud Turbine与服务降级
3.4链路监控Spring Cloud ZipKin与全链路优化
3.5平台监控prometheus+grafana
3.6日志监控EFK
六、Docker与容器技术
1、虚拟化技术vs.容器技术
2、Docker实践
2.1Docker容器管理、镜像管理及其操作
2.2使用Dockerfile构建容器
2.3Docker仓库管理及私服的搭建
2.4Docker的导入导出与离线发布
3、持续集成与DevOps的概念
3.1跨团队开发面临的难题
3.2规模化敏捷与快速交付面临的难题
3.3DevOps的概念及其解决思路
4、基于容器的微服务自动化运维
案例:基于容器的微服务持续集成过程
七、微服务的分布式容器管理
1、分布式容器管理工具Kubernetes技术框架、基本组件、分布式容器管理、虚拟网络原理、高可靠弹性扩容、资源监控分析
2、基于Kubernetes的微服务自动化运维
3、案例:Git+Jenkins+docker+k8s的自动化分布式部署
案例:微服务中的哪些组件适合k8s部署?
4、Kubernetes的日常运维
5、分布式容器部署案例分析