架构师
互联网
架构设计
推荐课程
average > 0 ? $model->average . '分' : '10.0分' ?>

分布式体系架构设计工作坊

Bruce Zhang

前ThoughtWorks 架构师、敏捷教练

先后就职于中兴通讯、惠普 GDCC、中软国际、ThoughtWorks 等⼤大型中外企
业,任职⾓角⾊色为⾼高级软件⼯工程师,架构师,技术总监,⾸首席咨询师。现为深圳⼤
大眼科技有限公司的⾸首席架构师,联合创始⼈人。精通包括 C#、Java、Ruby、Scala、
Python、JavaScript 等多种语⾔言,熟练掌握⾯面向对象思想、领域驱动设计、函数式语
⾔言、架构、⼤大数据分析、敏捷与过程改进,并致⼒力于⼤大型软件企业的⾯面向服务系
统架构设计以及互联网 Web 系统架构设计。在 ThoughtWorks 期间,作为⼀一名咨询师,
主要为客户提供组织的敏捷转型、过程改进、系统架构监理、领域设计、代码质量提升等咨
询⼯工作。目前,作为公司产品的架构师,致力于商业智能产品与⼤大数据分析平台的开发
与架构设计

著译作包括《解构领域驱动设计》、《软件设计精要与模式》、《架构宝典》、《高可用可伸缩微服务架构》、《Java设计模式》、《恰如其分的软件架构》、《WCF服务编程》、《人件》、《重构——改善既有代码设计》评注版、《架构之美》评注版。

作为主持⼈人或讲师多次被应邀参加如中国软件⼤大会、QCon、MPD 大会、
Agile China、Scrum Gathering 等⼤大型会议,并作为培训讲师曾先后为摩托罗拉、惠普、
花旗银⾏行、携程、TCL、中兴通讯、赛 门铁克,广发证券、平安银⾏行等企业培训架构、
设计、DDD、敏捷等专题内容。著译作包括《软件设计精要与模式》、《Java 设计模式》、《恰如其分的软件架构》、《WCF 服务编程》、《⼈人件》等。目前,正在撰写《架构之
美(Beatiful Architecture)》评注版,即将出版。

先后就职于中兴通讯、惠普 GDCC、中软国际、ThoughtWorks 等⼤大型中外企 业,任职⾓角⾊色为⾼高级软件⼯工程师,架构师,技术总监,⾸首席咨询师。现为深圳⼤ 大眼科技有限公司的⾸首席架构师,联合创始⼈人。精通包括 C#、Java、Ruby、Scala、 Python、JavaScript 等多种语⾔言,熟练掌握⾯面向对象思想、领域驱动设计、函数式语 ⾔言、架构、⼤大数据分析、敏捷与过程改进,并致⼒力于⼤大型软件企业的⾯面向服务系 统架构设计以及互联网 Web 系统架构设计。在 ThoughtWorks 期间,作为⼀一名咨询师, 主要为客户提供组织的敏捷转型、过程改进、系统架构监理、领域设计、代码质量提升等咨 询⼯工作。目前,作为公司产品的架构师,致力于商业智能产品与⼤大数据分析平台的开发 与架构设计 著译作包括《解构领域驱动设计》、《软件设计精要与模式》、《架构宝典》、《高可用可伸缩微服务架构》、《Java设计模式》、《恰如其分的软件架构》、《WCF服务编程》、《人件》、《重构——改善既有代码设计》评注版、《架构之美》评注版。 作为主持⼈人或讲师多次被应邀参加如中国软件⼤大会、QCon、MPD 大会、 Agile China、Scrum Gathering 等⼤大型会议,并作为培训讲师曾先后为摩托罗拉、惠普、 花旗银⾏行、携程、TCL、中兴通讯、赛 门铁克,广发证券、平安银⾏行等企业培训架构、 设计、DDD、敏捷等专题内容。著译作包括《软件设计精要与模式》、《Java 设计模式》、《恰如其分的软件架构》、《WCF 服务编程》、《⼈人件》等。目前,正在撰写《架构之 美(Beatiful Architecture)》评注版,即将出版。

课程费用

6800.00 /人

课程时长

2

成为教练

课程简介

分布式体系架构设计工作坊通过架构设计实战贯穿整个培训

目标收益

通过一个完整案例演练贯穿整个架构设计过程,内容涉及:

需求与架构目标的识别 RAIDs架构驱动方法 技术选型与决策 CQRS模式 系统一致性 领域驱动的战略设计 六边形架构 微服务架构的服务分解 架构演进
Clean Architecture思想 技术雷达

培训对象

课程大纲

需求 搭建一个技术部落,将与IT、互联网、数字领域相关的人、部落(业务、社区、 兴趣组等)和内容联系起来,提供一个分享与交流的途径。在最基本的层面上, 它是一个本地的博客、微博、微信文章、开源代码、活动、讲座、工作以及更多 内容的聚合器。
业务需求 普通用户可以通过微信、微博等社交账号登录 VIP企业用户需提供注册信息,并交纳规定的服务费用 若用户设置了相关账户信息,则个人信息上可以显示微博动态、Github提 交记录等
注册用户可以创建新的技术部落 注册用户可以申请成为技术部落会员 技术部落会员可以在技术部落中分享内容 技术部落会员可以关注/收藏自己感兴趣的内容
技术部落会员可以组织线上讲座,进行网络直播。网络直播分为公益直播
与收费直播 网络直播视频存储在系统服务器上,提供回看功能 注册用户可以发布活动事件 注册用户可以发布求职信息 VIP企业用户可以发布招聘信息
注册用户可以关注自己感兴趣的活动,关注后,系统会及时通知活动情况
注册用户可以对技术部落中的文章、活动、直播视频、工作以及用户进行


全文本搜索 为部落与用户制定积分政策,并根据最近七天的分数滚动计算出最活跃排 行榜
对整个系统中关注度高、相关度的文章进行智能推荐 为VIP企业用户提供人才推荐功能 除收费服务外,其余功能皆提供广告点击服务
质量属性需求 系统分为移动APP与Web应用 满足10万PV的并发请求 用户阅读分享内容的响应时间不超过2s 阅读的内容经过系统的格式化 文章推荐服务的准确度达到60%的准确度 人才推荐服务的准确度达到80%的准确度
网络直播的并发访问量能够支持10万级别,并保证直播的播放质量 全文本搜索的响应时间不超过5s
第一次演练:架构目标与范围 分析需求,明确整个系统的用户角色,定义系统的宏观边界,并找出与之相关的 第三方系统。

知识点:

架构与分布式架构的概念
System Context
第二次演练:RAIDs分析 RAIDs分析即识别整个系统的风险(Risk)、假设(Assumption)、问题
(Issue)与依赖(Dependency)。分析出来这些内容将成为架构设计的驱动


力,作为技术选型与决策的输入。

在进行RAIDs分析之后,团队应就识别出来的风险(问题)优先级达成一致意 见,并给出相对具体的架构原则;而假设与依赖则可以视为架构设计的约束。

知识点:

RAIDs分析
第三次演练:技术选型 结合着系统需求与RAIDs分析出来的结果,我们需要针对分布式架构的同步消息 调用、异步消息调用等诸多方面进行技术选型。

在进行技术选型时,应根据具体的需求场景、质量属性、团队人员能力等诸多方 面进行考量,并利用Technical Matric的方法进行评估,帮助决策。

实战:

针对RPC框架进行技术Spike 针对数据库进行技术Spike
第四次演练:关键因素分析 分离的原则
REST架构风格
CQRS架构模式
系统的高性能
分布式系统的一致性
第五次演练:领域驱动与微服务 领域逻辑的分离应遵循“高内聚松耦合”原则,这一分离原则尤其针对于微服务设 计。在进行服务设计时,引入领域驱动设计(Domain Driven Design)的知 识,通过识别Bounded Context进行微服务设计。

知识点:

Bounded Context Context Map
六边形架构
微服务设计原则
第六次演练:架构演进 技术部落的需求发生了变化,要求增加如下功能:

通过网络爬虫挖掘技术网站文章,根据部落主题进行文章推荐; 为注册会员提供博客系统,用户只需要在本地编写Markdown文件,并进 行同步,即可自动更新博客; 提供对主要招聘网站包括LinkedIn、100Offer等网站的集成,实时更新 招聘信息;

如何在现有架构下应对需求变化,并对架构进行演进式设计。
工作坊总结 Clean Architecture思想
Clean Architecture提出的模型是一个可测试的模型,无需依赖于任何基础


设施就可以对它进行测试,只需通过边界对象发送和接收对应的数据结构即可。 它们都遵循稳定依赖原则 ,不对变化或易于变化的事物形成依赖。
技术雷达 针对整个分布式系统架构设计,从原则、模式、框架、工具四个角度设计技术雷 达。
需求
搭建一个技术部落,将与IT、互联网、数字领域相关的人、部落(业务、社区、 兴趣组等)和内容联系起来,提供一个分享与交流的途径。在最基本的层面上, 它是一个本地的博客、微博、微信文章、开源代码、活动、讲座、工作以及更多 内容的聚合器。
业务需求
普通用户可以通过微信、微博等社交账号登录 VIP企业用户需提供注册信息,并交纳规定的服务费用 若用户设置了相关账户信息,则个人信息上可以显示微博动态、Github提 交记录等
注册用户可以创建新的技术部落 注册用户可以申请成为技术部落会员 技术部落会员可以在技术部落中分享内容 技术部落会员可以关注/收藏自己感兴趣的内容
技术部落会员可以组织线上讲座,进行网络直播。网络直播分为公益直播
与收费直播 网络直播视频存储在系统服务器上,提供回看功能 注册用户可以发布活动事件 注册用户可以发布求职信息 VIP企业用户可以发布招聘信息
注册用户可以关注自己感兴趣的活动,关注后,系统会及时通知活动情况
注册用户可以对技术部落中的文章、活动、直播视频、工作以及用户进行


全文本搜索 为部落与用户制定积分政策,并根据最近七天的分数滚动计算出最活跃排 行榜
对整个系统中关注度高、相关度的文章进行智能推荐 为VIP企业用户提供人才推荐功能 除收费服务外,其余功能皆提供广告点击服务
质量属性需求
系统分为移动APP与Web应用 满足10万PV的并发请求 用户阅读分享内容的响应时间不超过2s 阅读的内容经过系统的格式化 文章推荐服务的准确度达到60%的准确度 人才推荐服务的准确度达到80%的准确度
网络直播的并发访问量能够支持10万级别,并保证直播的播放质量 全文本搜索的响应时间不超过5s
第一次演练:架构目标与范围
分析需求,明确整个系统的用户角色,定义系统的宏观边界,并找出与之相关的 第三方系统。

知识点:

架构与分布式架构的概念
System Context
第二次演练:RAIDs分析
RAIDs分析即识别整个系统的风险(Risk)、假设(Assumption)、问题
(Issue)与依赖(Dependency)。分析出来这些内容将成为架构设计的驱动


力,作为技术选型与决策的输入。

在进行RAIDs分析之后,团队应就识别出来的风险(问题)优先级达成一致意 见,并给出相对具体的架构原则;而假设与依赖则可以视为架构设计的约束。

知识点:

RAIDs分析
第三次演练:技术选型
结合着系统需求与RAIDs分析出来的结果,我们需要针对分布式架构的同步消息 调用、异步消息调用等诸多方面进行技术选型。

在进行技术选型时,应根据具体的需求场景、质量属性、团队人员能力等诸多方 面进行考量,并利用Technical Matric的方法进行评估,帮助决策。

实战:

针对RPC框架进行技术Spike 针对数据库进行技术Spike
第四次演练:关键因素分析
分离的原则
REST架构风格
CQRS架构模式
系统的高性能
分布式系统的一致性
第五次演练:领域驱动与微服务
领域逻辑的分离应遵循“高内聚松耦合”原则,这一分离原则尤其针对于微服务设 计。在进行服务设计时,引入领域驱动设计(Domain Driven Design)的知 识,通过识别Bounded Context进行微服务设计。

知识点:

Bounded Context Context Map
六边形架构
微服务设计原则
第六次演练:架构演进
技术部落的需求发生了变化,要求增加如下功能:

通过网络爬虫挖掘技术网站文章,根据部落主题进行文章推荐; 为注册会员提供博客系统,用户只需要在本地编写Markdown文件,并进 行同步,即可自动更新博客; 提供对主要招聘网站包括LinkedIn、100Offer等网站的集成,实时更新 招聘信息;

如何在现有架构下应对需求变化,并对架构进行演进式设计。
工作坊总结
Clean Architecture思想
Clean Architecture提出的模型是一个可测试的模型,无需依赖于任何基础


设施就可以对它进行测试,只需通过边界对象发送和接收对应的数据结构即可。 它们都遵循稳定依赖原则 ,不对变化或易于变化的事物形成依赖。
技术雷达
针对整个分布式系统架构设计,从原则、模式、框架、工具四个角度设计技术雷 达。

活动详情

提交需求