大型分布式架构与微服务架构设计最佳实践高级培训...课程特色与背景
课程介绍
近些年,随着互联网的不断发展,越来越多的系统需要建设在互联网上,应对高并发、大数据的严苛运营环境。在这种运营环境中,采用传统的集中式系统架构越来越不能使用未来的发展,整个产业开始向分布式系统转型。然而,在分布式系统转型过程中,有许许多多的分布式技术千差万别,并且要按不同场景去运用不同的分布式技术。本课程通过梳理,帮助学员理清,在大型分布式系统中如何运用各种分布式技术,解决什么问题。
首先,分布式系统按照功能分为生产型与分析型两类系统,它们通过读写分离的技术整合在一起。生产型分布式系统未来的发展趋势就是基于云端的微服务架构。微服务架构将复杂系统化整为零,拆分成一个一个的微服务,部署在云端进行快速地横向扩展与收缩。然后,将庞大的开发团队拆分成一个一个的独立功能分布式团队,去维护各自的微服务。采用微服务架构降低了团队沟通的成本,降低了系统维护的复杂度,更降低了系统发布的周期,使得我们可以快速交付、快速应对市场需求。 但是,微服务应当如何架构?它有哪些技术特点与技术难点?由火龙果软件举办的本课程将会用许多的真实案例讲解,什么是微服务,如何用微服务架构我们的系统,并用工作坊的形式,实际带领学员去架构微服务,在动手中获得知识。
此外,对于分析型分布式系统,在面对海量数据方面,本课程还介绍了NoSQL数据库、Hadoop大数据处理技术,以及它们在应对海量数据存储、深度数据挖掘与高效数据查询方面,所做的设计。通过案例讲解,可以让学员理解如何运用NoSQL数据库与Hadoop大数据处理技术解决相关问题、设计真实的系统。
培训特色
本课程注重实战,并以工作坊的形式提供很多案例,让学员通过练习掌握分布式架构设计的过程,以及从传统架构向微服务改造的过程。同时,通过大量真实的案例,讲解许多公司在开展分布式系统转型过程中面临的难题、解决的思路,以及最终的设计。 什么是分布式系统 集中式系统及其弊病 分布式系统的概念及其优势 大型业务系统架构的发展历程 集中式系统架构的设计 多级集中式架构及其弊病 动静分离与读写分离的设计 生产型业务系统的分布式设计 数据库的横向纵向切分 分布式缓存的设计 异步化操作与分布式队列 生产型业务系统未来的发展趋势 微服务的架构设计 服务网格Service Mesh NewSQL数据库 分析型业务系统的分布式设计 NoSQL数据库 基于Hadoop的大数据平台 基于Kylin的多维数据建模 运用ElasticSearch解决海量明细查询。
课程大纲
课程模块 | 知识模块 | 授课纲要 |
模块一 | 分布式系统概述 | 什么是分布式系统1.集中式系统及其弊病2.分布式系统的概念及其优势大型业务系统架构的发展历程1.集中式系统架构的设计2.多级集中式架构及其弊病3.动静分离与读写分离的设计生产型业务系统的分布式设计1.数据库的横向纵向切分2.分布式缓存的设计3.异步化操作与分布式队列生产型业务系统未来的发展趋势1.微服务的架构设计2.服务网格Service Mesh3.NewSQL数据库分析型业务系统的分布式设计1.NoSQL数据库2.基于Hadoop的大数据平台3.基于Kylin的多维数据建模4.运用ElasticSearch解决海量明细查询 |
模块二 | 分布式系统技术专题 | 分布式缓存1.本地缓存vs.分布式缓存2.分布式缓存设计原理与高可用设计3.Redis分布式缓存部署4.Redis分布式缓存设计实践5.Redis分布式缓存设计应注意的问题内存数据库1.内存数据库运行原理2.内存数据库设计选型3.Redis内存数据库设计实践1)内存数据库+异步化技术方案2)京东订单系统的优化过程分布式事务1.分布式事务的两阶段提交2.TCC方案1)TCC方案设计原理2)阿里的Seata与GTS3)TCC方案的设计实现3.基于消息的分布式事务1)基于消息的最终一致性2)设计实践及其存在的问题3)基于半消息的设计实践4)基于消息表的设计方案分布式锁1.分布式锁的应用场景及其原理2.基于数据库的设计方案3.基于Redis的设计方案1)基于Redis的设计实践2)方案存在的问题4.基于Zookeeper的设计方案1)Zookeeper的设计原理2)Zookeeper在服务治理中的应用3)Zookeeper在大数据中的应用4)Zookeeper在分布式锁中的设计实现5.基于etcd的设计方案1)etcd的特点介绍2)etcd在分布式锁中的设计实现分布式消息队列1.异步化操作与分布式消息队列2.RabbitMQ, RocketMQ, ActiveMQ与kafka的比较3.RabbitMQ的设计实践4.Kafka的设计实践分布式数据库1.RMSDB→NewSQL→NoSQL2.分布式存储CAP理论3.NoSQL数据库及其原理4.如何实现高并发大数据查询场景案例:MongoDB实现大数据秒级查询5.NewSQL数据库及其原理6.高并发写入的分布式设计方案案例:TiDB数据库的分布式方案 |
模块三 | 服务注册与发现 | 服务注册与发现的概念与作用Spring Cloud Eureka方案1.Spring Cloud Eureka的系统架构2.Eureka Server的设计3.Eureka Client的设计4.服务发现的设计Ø使用ribbon的设计Ø使用feign的设计5.熔断机制在微服务的设计实现Ø断路器设计模式Ø线程池隔离、优雅降级与熔断ØHystrix的断路器设计Ø服务降级的设计实践6.高可靠设计与Eureka集群 |
模块四 | 跨语言访问与服务网格 | 微服务跨语言访问的意义1.Eureka跨语言访问设计实践2.微服务跨语言访问的设计局限服务网格(Service Mesh)1.服务网格的概念及其发展历程2.Linkerd服务网格的设计原理3.Istio服务网格的设计原理4.蚂蚁金服Sofa Mosn的设计实践5.微博服务网格的设计实践 |
模块五 | 微服务网关 | 微服务的安全措施与服务网关设计1.多渠道用户接入2.请求合法性与用户鉴权3.灰度发布与金丝雀测试4.全链路压测5.流量控制与节流1)令牌桶算法、漏桶算法2)Nginx在接入层的流量控制3)服务层的流量控制设计思路4)节流的设计实现路由网关(zuul)的设计1.智能路由与服务迁移2.过滤器的设计与配置3.Zuul的高可靠设计 |
模块六 | 微服务层的设计 | 微服务架构的6种设计模式1.聚合模式案例:电商网站购物功能的设计案例:电商网站下单服务的设计单一职责原则与领域驱动设计Ø互联网纵向切分在微服务的实现Ø纵向切分应当注意的设计问题Ø避免跨库关联查询的方案设计2.代理模式案例:电商网站支付功能的设计思路3.链式模式4.分支模式5.异步消息模式案例:12306的异步化操作案例:电商网站异步化操作的微服务实现6.数据共享模式微服务的无状态设计ØSession管理的设计难题Ø微服务的无状态设计Ø基于http/rest的无状态低耦合通讯微服务设计的反模式1.太多数据迁移2.数据共享反模式3.频繁交互反模式 |
模块七 | Docker与容器技术 | Docker简介1.Docker vs. 虚拟化2.Docker的运行方式3.Docker的基本操作将微服务部署到Docker中演练:微服务在Docker中的部署过程练习:模拟构建一个微服务系统 |
模块八 | 基于云端的分布式部署与DevOps | DevOps简介1.为什么需要DevOps2.微服务的测试过程3.微服务的发布过程分布式运维1.Kubernetes的运行原理解析2.Kubernetes命令与操作3.Kubernetes的微服务发布与管理4.用配置文件在Kubernetes中部署微服务微服务平台自动化运维设计实践演示:Git+Jenkins+docker+k8s的自动化分布式部署 |
模块九 | 分布式微服务设计实践 | 演练微服务开发的整个过程1.演练单体应用的微服务转型过程2.微服务开发的父项目与基础平台3.微服务开发的多环境配置4.高可靠的分布式服务治理5.前端、聚合层、原子服务层的设计6.异步化的微服务调用7.服务网关的设计与智能路由微服务架构的管理与监控1.配置中心Spring Cloud Config2.断路监控Spring Cloud Turbine3.链路监控Spring Cloud ZipKin分布式容器部署演练1.制作Jenkins定时任务2.上传Docker私服3.部署k8s集群故障检测与监控 |
模块十 | 传统架构的分布式技术转型 | 传统架构微服务转型的过程1.技术转型准备工作:Maven→Spring boot整理分层:MVC层与BUS层的分离建立微服务:注册中心、服务网关与微服务2.业务拆分构建领域模型与限界上下文业务与数据库的纵向切分练习:将一个传统架构的软件改造成微服务初创型企业的微服务建设过程案例:某智慧医疗系统的建设过程1.系统的建设规划2.系统的分析设计过程3.微服务架构设计与对外接口4.微服务运营平台的建设成熟型企业开展微服务的思路1.成熟企业开展微服务的难题2.记录型系统 vs. 交互型系统3.在混合云中构建交互型系统案例:某金融企业向微服务转型的过程大数据+微服务的转型过程案例:某风控系统的大数据+微服务的转型过程1.该风控系统的背景介绍2.互联网转型带来的机遇与挑战3.后端大数据的转型过程4.前端微服务的转型过程5.构建风险分析模型的AppStore平台探讨:大数据如何与微服务相结合 |
课程主讲
程老师 CTO,微服务架构首席咨询师,国内较早倡导和实践微服务的先行者,多次受邀在大型技术会议主题分享“微服务架构”相关主题。超过10年以上的软件行业经验,从企业应用、互联网应用、服务化平台的架构设计、开发到自动化构建、持续集成、持续交付以及DevOps的转型实施等有较丰富的实践经验。
范老师 国内架构设计专家、多领域架构评审委员和技术架构组委员。信息技术领域具有坚实的学术背景和教学培训经验,多年研发和客户项目高级管理咨询能力,多年包括华为IPD研发管理工作经历。善于用先进信息化技术架构和方法指导团队完成设计工作,具有雄厚的咨询能力。具有大型分布式团队的领导和管理经验。
课程对象
架构总监,架构经理,企业架构师,解决方案架构师 需要深入了解企业架构的技术人员。
备 注
课程费用:6800元/人(含培训、教材、专家、场地、证书、学习用品费等),食宿、考察可统一安排,费用自理。
关注本课程网友还浏览了塑胶模具设计、工程机械设计专题
常年开班,获取最新开班时间或内训报价,咨询:400-061-6586