求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
 
 
 
开班计划 | 技术学院 | 管理学院 | 嵌入式学院 | 机械 | 军工学院 | 定向培养 | 专家指导 | 角色培养  
 电话 English
成功案例   品质保证
 
成功案例
某核电企 软件设计重构与代码
某集成电 多核体系的软件仿真
某电力能 设计模式原理及应用
南方航空 软件设计方法与实践
某跨国公 软件设计原理与实
爱立信( 软件设计
Moto 设计模式
 
全部课程 >架构设计  
大型分布式系统设计
1663 次浏览  55 次
范老师
航天信息前首席架构师
时间地点:在线 北京 上海 深圳 根据报名开班
课程费用:4500元/人 
报公开课  
企业内训:可以根据企业需求,定制内训,详见 内训学习手册



认证方式:
2 培训前了解能力模型。
培训后进行能力评测:
  • 在线考试
  • 能力分析,给出学习建议
  • 合格者颁发证书,作为职业技能资格证明


    近些年,随着互联网的不断发展,越来越多的系统需要建设在互联网上,应对高并发、大数据的严苛运营环境。在这种运营环境中,采用传统的集中式系统架构越来越不能使用未来的发展,整个产业开始向分布式系统转型。然而,在分布式系统转型过程中,有许许多多的分布式技术千差万别,并且要按不同场景去运用不同的分布式技术。本课程通过梳理,帮助学员理清,在大型分布式系统中如何运用各种分布式技术,解决什么问题。
    首先,分布式系统按照功能分为生产型与分析型两类系统,它们通过读写分离的技术整合在一起。生产型分布式系统未来的发展趋势就是基于云端的微服务架构。微服务架构将复杂系统化整为零,拆分成一个一个的微服务,部署在云端进行快速地横向扩展与收缩。然后,将庞大的开发团队拆分成一个一个的独立功能分布式团队,去维护各自的微服务。采用微服务架构降低了团队沟通的成本,降低了系统维护的复杂度,更降低了系统发布的周期,使得我们可以快速交付、快速应对市场需求。
    但是,微服务应当如何架构?它有哪些技术特点与技术难点?本课程将会用许多的真实案例讲解,什么是微服务,如何用微服务架构我们的系统,并用工作坊的形式,实际带领学员去架构微服务,在动手中获得知识。
    培训目标:
  • 学习分布式系统基础知识
  • 了解分布式系统相关的技术
  • 学习微服务的架构设计
  • 理解分布式云端部署方法
  • 学习Docker与容器技术
  • 学习基于云端的分布式部署与DevOps
  • 了解分布式微服务设计实践
  • 知道如何实现从传统架构的分布式技术转型
  • 培训特色
    本课程注重实战,并以工作坊的形式提供很多案例,让学员通过练习掌握分布式架构设计的过程,以及从传统架构向微服务改造的过程。同时,通过大量真实的案例,讲解许多公司在开展分布式系统转型过程中面临的难题、解决的思路,以及最终的设计。
    培训对象: 中高级工程师、企业架构师、软件设计师、技术决策/解决方案人员等。
    学员基础:具有中等以上系统的项目经历,最了解微服务技术。
    授课方式: 定制课程 + 案例讲解 + 小组讨论,60%案例讲解,40%实践演练

    培训内容:2天

    第一部分 分布式系统发展历程
    第一单元 分布式系统概述 什么是分布式系统
    1. 集中式系统及其弊病
    2. 分布式系统的概念及其优势

    大型业务系统架构的发展历程
    1. 集中式系统架构的设计
    2. 多级集中式架构及其弊病
    3. 动静分离与读写分离的设计

    生产型业务系统的分布式设计
    1. 数据库的横向纵向切分
    2. 分布式缓存的设计
    3. 异步化操作与分布式队列

    生产型业务系统未来的发展趋势
    1. 微服务的架构设计
    2. 服务网格Service Mesh
    3. 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与GTS
      3) TCC方案的设计实现
    3. 基于消息的分布式事务
      1) 基于消息的最终一致性
      2) 设计实践及其存在的问题
      3) 基于半消息的设计实践
      4) 基于消息表的设计方案

    分布式锁
    1. 分布式锁的应用场景及其原理
    2. 基于数据库的设计方案
    3. 基于Redis的设计方案
      1) 基于Redis的设计实践
      2) 方案存在的问题
    4. 基于etcd的设计方案
      1) etcd的特点介绍
      2) etcd在分布式锁中的设计实现

    分布式消息队列
    1. 异步化操作与分布式消息队列
    2. RabbitMQ, RocketMQ, ActiveMQ与kafka的比较
    3. RabbitMQ的设计实践
    4. Kafka的设计实践

    分布式数据库
    1. RMSDB→NewSQL→NoSQL
    2. 分布式存储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. 为什么需要DevOps
    2. 微服务的测试过程
    3. 微服务的发布过程

    分布式运维
    1. Kubernetes的运行原理解析
    2. Kubernetes命令与操作
    3. Kubernetes的微服务发布与管理
    4. 用配置文件在Kubernetes中部署微服务

    微服务平台自动化运维设计实践
    演示:Git+Jenkins+docker+k8s的自动化分布式部署
    第九单元 分布式微服务设计实践 演练微服务开发的整个过程
    1. 演练单体应用的微服务转型过程
    2. 微服务开发的父项目与基础平台
    3. 微服务开发的多环境配置

       
    1663 次浏览  55 次
    其他人还看了课程
    大型电商分布式网站实践  3890 次浏览
    虚拟化技术及其应用  3161 次浏览
    区块链技术原理、产品架构与应用  2624 次浏览
    软件架构案例分析和最佳实践  3928 次浏览
    分布式互联网架构之路  3700 次浏览
    MDA构架及项目开发  4405 次浏览
    定制内训


    咨询服务:架构评估与优化
    咨询目标
    对现有的架构进行评估,发现问题,并优化
    咨询范围 业务架构,应用架构,数据架构,技术架构
    咨询方式 对现有架构进行建模,然后诊断问题,对问题进行集成分析,设计优化方案,指导团队实施优化,最终效果评估。
    成功案例 中国移动广西分公司,中国电信
    详情咨询:010-62670969, zhgx@uml.net.cn
    课程计划
    QT应用开发 11-21[线上]
    C++高级编程 11-27[北京]
    LLM大模型应用与项目构建 12-26[特惠]
    UML和EA进行系统分析设计 12-20[线上]
    数据建模方法与工具 12-3[北京]
    SysML建模专家 1-16[北京]