云计算、微服务与分布式架构培训课程
|
本课程从高并发、大数据、高可靠3个方面入手,讲解了大型互联网分布式系统架构是如何从容应对数以亿计的用户并发访问、海量业务数据的性能压力,如何高效而稳定地进行架构设计的。课程由浅入深首先介绍了与高并发、大数据、高可靠相关的概念、指标与解决思路。
课程将结合大型系统架构案例讲解云计算与分布式架构的构建方法:淘宝的电商架构、京东的订单系统、58同城网站、12306.cn火车订票网站。结合系统的需求、初始架构、问题发生、架构优化的历程,讲解如何从无到有构建云计算与分布式架构。
接着,由浅入深、层层推进、从各个层面逐步介绍了,从数据接入层、数据库层、业务逻辑层,逐步分析在架构设计各个环节可能遇到的性能问题、可以采用的技术,这些技术的基本原理与解决思路,以及相关互联网应用的具体案例。通过这些案例的讲解,可以为学员日后的架构设计开阔思路、加深认识。
此外,在面对大数据量方面,介绍了NoSQL数据库、Hadoop大数据处理技术,以及它们在应对海量数据存储、深度数据挖掘与高效数据查询方面,所起到的作用。通过案例讲解,可以让学员理解如何运用NoSQL数据库与Hadoop大数据处理技术解决海量数据处理与高效查询的问题。
|
培训特色
|
本课程注重实战,采用案例贯穿方式完成实践,收集了大量的真实案例,针对项目过程中技术人员常犯的错误进行了汇总,研讨,并最终形成培训教程。通过大量的真实案例,详细地介绍了分布式计算与内存数据库培训需要注意的要点以及难点,这些知识都是讲师十几年经验的总结。
|
云计算微服务培训课程对象: 中高级工程师、企业架构师、软件设计师、数据库/存储技术人员、技术决策/解决方案人员等。
|
学员基础:具有软件架构设计、尤其是互联网应用设计和开发经验
|
|
|
课程将结合大型互联网架构讲解云计算与分布式架构的构建范例
|
云计算与分布式架构概览
|
云计算与分布式架构的引入
1.什么是系统云计算与分布式
2.如何通过架构保证云计算与分布式
3.云计算与分布式架构都要考虑什么
4.云计算与分布式架构的质量评价指标有哪些
5.云计算与分布式设计都设计那些环节
6.从一个大型互联网系统架构看云计算与分布式的解决方法
|
大型互联网架构案例解析
|
大型互联网架构演化过程:从单点到分布式,云计算与分布式
大型互联网架构案例解析:
· 12306架构改造过程
· 案例:淘宝网的架构演进过程
· 京东订单系统的优化过程
大型互联网架构的关注点:
· 用户体验
· 云计算与分布式
· 高性能
· 易于扩展
|
云计算与分布式架构的特点及解决思路
|
高并发
1.高并发的概念
2.高并发问题的解决思路:目标→问题→方案
3.横向扩展与纵向扩展
大数据
1.大数据的概念
2.大数据问题的解决思路
1)针对三种不同操作类型的优化
2)并行操作与异步处理
3)集中式处理 vs. 分布式处理
高可靠性
1.高可靠性在三个层面的概念
2高可靠性的设计思路
1)单点故障可容忍
2)灾备与恢复
|
一、微服务架构
|
微服务架构概述
|
什么是微服务架构
微服务架构是敏捷开发的必然结果
1.单体应用的优势与面临的挑战
案例:演示淘宝在系统不断发展的过程中面临的难题
许多系统在不断发展过程中越来越庞大带来的问题
2.康威定律与人月神话
烟囱式的功能团队导致烟囱式的应用
人员越来越多、沟通越来越困难、工作效率越来越低
3.未来快速变化的市场需要敏捷团队
更快地交付、更快地反馈、更快地产生价值
敏捷化的开发团队呼唤微服务架构
微服务是未来互联网发展的必然结果
1.互联网的发展及其面临的挑战
案例:分析淘宝近十年的发展及其面临的挑战
互联网在面临横向扩展、服务隔离等问题的局限
2.微服务能够更好地解决互联网问题
分析传统架构在解决互联网问题时采用的办法
讲解微服务架构应当是什么样子
剖析微服务架构在解决诸多互联网问题时的思路
微服务架构给测试与运维带来的挑战
1.微服务架构给测试带来的挑战
微服务架构与持续集成
微服务架构采用的测试工具
2.微服务架构给运维带来的调整
微服务架构与DevOps
微服务架构的管理与发布过程
|
准确认识微服务
|
关于微服务的误解
1.微服务 vs. SOA
案例:SOA在项目中的应用
案例:微服务在项目中的应用
微服务与SOA的联系与差异
2.微服务架构的本质
· 由服务组件组成的系统
· 按照业务而不是技术来组织服务
· 做全生命周期的产品而不是项目
· 智能端点与通道扁平化
· 去中心化治理
· 去中心化数据管理
· 自动化运维(DevOps)
· 故障恢复与容错
· 演化式设计
案例:演示出租车调度系统的微服务设计过程
|
微服务常用架构
|
微服务案例解析:
· 淘宝的微服务架构框架
· 京东的微服务架构框架
· 金税系统的微服务架构框架
Spring Cloud微服务框架解析
1.服务注册与发现Spring Cloud Eureka
2.服务网关Spring Cloud Zuul
3.微服务及其相互调用Spring Cloud Ribbon/Feign
4.配置管理 Spring Cloud Config
微服务的平台建设:
1.微服务的平台应具备的要素
2.配置中心Spring Cloud Config
3.断路监控Spring Cloud Turbine
4.信息采集Spring Cloud Sleuth
5.链路监控Spring Cloud ZipKin
6.管理中心Spring Cloud AdminUI
7.监控平台prometheus+EFK
|
服务注册与发现
|
服务注册与发现的概念与作用
实现服务注册与发现的方案
1.Dubbo的简介
2.Zookeeper的简介
3.Netflix Eureka的简介
Spring Cloud Eureka方案
1.Spring Cloud Eureka的系统架构
2.Eureka Server的设计
3.Eureka Client的设计
4.服务发现的设计
· 使用ribbon的设计
· 使用feign的设计
5.熔断机制
· 断路器设计模式
· 线程池隔离、优雅降级与熔断
· Hystrix的断路器设计
6.高可靠设计与Eureka集群
练习:使用Eureka构建微服务系统
1.Eureka Server
2.Eureka Client
3.使用ribbon/feign进行微服务间调用
4.设计熔断器
|
微服务层的设计
|
微服务架构的6种设计模式
1.聚合模式
互联网纵向切分在微服务的实现
纵向切分应当注意的设计问题
避免跨库关联查询的设计
采用分布式事务解决跨库的事务操作
2.代理模式
互联网横向切分与读写分离在微服务的实现
3.链式模式
复杂应用场景与生产流水线的设计思路
4.分支模式
5.数据共享模式
6.异步消息模式
案例:微服务实现异步化操作
微服务的粒度
1.微服务的拆分原则
2.微服务的拆分方式
微服务设计的反模式
1.太多数据迁移
2.数据共享反模式
3.频繁交互反模式
探讨:如何解决微服务接口太多的问题
|
服务网关
|
服务网关在微服务架构中的作用
1.多渠道用户接入
微服务前后端分离的架构设计
2.微服务的负载均衡
负载均衡的难题:Session管理
3.路由网关(zuul)
蓝绿发布、滚动发布、灰度发布与金丝雀发布 权限验证与安全保障
路由网关的设计实现
4.流量控制与节流
练习:设计服务网关、路由网关与断路器
|
配置管理与DevOps
|
DevOps简介
1.微服务为什么需要DevOps
2.微服务的测试过程
3.微服务的发布过程
4.持续集成方法实践
5. 持续交付方法实践。
|
二、中间件产品介绍,介绍功能及特性
· 分布式缓存(redis)
· 重点:分布式数据库(MySQl),介绍主从复制、分库分表代理层等;
· 分布式消息队列(Kafak、rockerQ等),比较各产品的差异等。
|
云计算与分布式架构之:内存数据库的设计
|
内存数据库技术
1.内存数据库的概念
2.解析内存数据库的运行原理
3.Oracle TimesTen的介绍
4.Gemfire及其在12306的应用
Redis内存数据库技术
1.Redis的运行原理及其特点
2.Redis的部署形式
3.Redis的应用设计
案例:spring-redis-data的设计应用
案例:京东订单系统的优化过程
4.内存数据库的设计局限
|
云计算与分布式架构之:应用缓存的设计
|
应用缓存技术
1.页面静态缓存
2.应用缓存技术解决的问题
3.单机缓存 vs. 分布式缓存
4.分布式缓存的特点及其设计
Memcached技术
1.Memcached技术及其特点
2.分布式哈希算法及其一致性哈希
3.Memcached的部署结构及其应用方案
案例:负载均衡的session同步及其故障转移
如何在原有系统上进行应用缓存改造
1.Spring + Memcached的设计改造过程
2.Hibernate + Memcached的设计改造过程
3.Memcached的命中率分析及其调优
应用缓存的设计过程及其应当注意的问题
1.负载均衡的Session同步及其故障转移
2.缓存服务器雪崩现象及其解决思路
3.缓存服务器依赖现象及其解决思路
4.缓存服务器穿透现象及其解决思路
|
云计算与分布式架构之:异步化操作的设计
|
1.异步化操作的原理
案例:12306的异步化改造过程
2.异步化操作的设计实践
Netty与Kafka的设计实现
3.分布式队列的设计
案例:用消息队列解决分布式事务
案例:用消息队列解决内存数据库的同步
4.分布式锁的设计实现
剖析分布式锁要解决的问题
基于数据库的分布式锁
基于缓存的分布式锁
基于Zookeeper的分布式锁
|
三、Cloud native架构介绍
· Docker+K8S基本原理;
· Server Mesh原理及当前开源产品
|
Cloud native的支持技术
|
微服务的分布式运维
1.Kubernetes简介
2.用Kubernetes进行分布式运维
探讨:如何构建一个微服务运营平台
将微服务部署到Docker中
1.Docker vs. 虚拟化
2.Docker的运行方式
3.Docker的基本操作
演练:微服务在Docker中的部署过程
练习:模拟构建一个微服务系统
微服务的分布式运维
3.Kubernetes的运行原理解析
4.Kubernetes命令与操作
5.Kubernetes管理界面
6.用配置文件在Kubernetes中部署微服务
演示:Git+Jenkins+docker+k8s的自动化分布式部署
微服务设计指南
1.如何划分微服务
2.服务的接口与参数设计
3.服务的验证设计
案例:高负载微服务系统的架构演进之路
服务网格(Service Mesh)
1.服务网格的概念
2.Istio技术框架简介
|
云计算与分布式架构之:不断演进的架构设计过程
|
互联网+时代的架构设计特点
1.互联网+带来的巨大变革
2.互联网公司不断面对的升级改造
3.传统行业必须面对的互联网转型
好的架构源于不断的衍变
案例:58同城的架构衍变过程
1.最初的架构设计
2.网络接入层的改造过程
3.数据库拆分的改造过程
服务化为中心的改造过程
|
|
如果您想学习本课程,请
预约报名
如果没找到合适的课程或有特殊培训需求,请
订制培训
除培训外,同时提供相关技术咨询与技术支持服务,有需求请发需求表到邮箱soft@info-soft.cn,或致电4007991916
技术服务需求表点击在线申请
服务特点:
海量专家资源,精准匹配相关行业,相关项目专家,针对实际需求,顾问式咨询,互动式授课,案例教学,小班授课,实际项目演示,快捷高效,省时省力省钱。
专家力量:
中国科学院软件研究所,计算研究所高级研究人员
oracle,微软,vmware,MSC,Ansys,candence,Altium,达索等大型公司高级工程师,项目经理,技术支持专家
中科信软培训中心,资深专家或讲师
大多名牌大学,硕士以上学历,相关技术专业,理论素养丰富
多年实际项目经历,大型项目实战案例,热情,乐于技术分享
针对客户实际需求,案例教学,互动式沟通,学有所获