微服务架构设计 第一步: 从特性到业务场景

2016.9.8, 深圳, Ken Fang

微服务到底应该如何的识别? 微服务的粒度为何? 微服务该如何的分析与设计?

这些问题的答案, 取决于: 为何需要微服务?

为何需要微服务?

目的只有一个: 比竟争对手能更快的响应市场的变化与客户的诉求。

所以, 微服务的分析与设计, 决不是单纯的只考量技术上的解决方案。

微服务的分析与设计, 必需要掌握两个核心的原则:

1.    从外部的业务场景, 驱动微服务的分析与设计。

2.    经由微服务分析与设计出的微服务架构, 必需是能演进与能扩展的架构。

让我们开始探索微服务的分析与设计:

“微服务分析与设计 第一步: 从特性到业务场景”

任何的产品; 不论是与使用者会直接发生互动的应用系统, 或是提供给众多产品使用的平台; 都应该要先有一个完整的产品特性树。

产品特性树将使得我们可以很清楚的知道, 从外部使用者或外部产品的视角, 产品的微服务架构, 最终应提供哪些有价值的服务?

而团队中针对产品特性树中的每一个特性, 都应该要有一个主要的特性负责人; 每一个特性都会有一个主要的特性负责人负责, 每一个特性负责人, 都将负责多个特性。

在微服务分析与设计中, 特性负责人的主要责任便是: 经由与团队中各不同领域的成员; 架构师, 开发骨干人员, 测试经理, 资深测试人员; 共同具体分析出每个特性的业务场景与微服务的边界上下文 (Bounded Context)。

特性负责人与团队成员协作, 分析每个特性业务场景的主要步骤如下:

1.    特性负责人, 分析特性是由哪些业务活动所构成的?

2.    特性负责人, 针对特性中的某个业务活动, 分析出此业务活动的基本流。

3.    团队成员, 以特性负责人所分析出的基本流为基础, 分析出相关的扩展流与异常流。

4.    特性负责人, 决定团队成员所分析出的扩展流与异常流, 哪些是需在这个版本中, 置入到微服务的架构中, 来进行开发的。

5.    特性负责人, 再选取特性中的其他业务活动, 并重复步骤二至步骤五。直到特性中的所有业务活动均已分析完毕为止。

当特性负责人, 将特性的所有业务活动均分析出, 其各自的基本流, 扩展流与异常流之后, 特性负责人便可经由组合基本流, 扩展流与异常流, 而分析出从外部使用者或外部产品的视角, 有价值的端到端的业务场景切片。

特性负责人经由与团队成员的协作:

A.      团队成员, 分析出扩展流与异常流; 团队成员作加法。

B.      特性负责人, 从团队成员所分析出扩展流与异常流中, 删除不需要置入微服务的架构中, 去进行开发的扩展流与异常流; 特性负责人作减法。

团队成员作加法, 特性负责人作减法; 此种团队协作的方式, 不仅使团队成员间, 能对需开发的微服务场景 (需求), 迅速的达成一致的共识, 并且能使得每个微服务, 都能以最少的场景 (需求), 却能对外部使用者或外部产品, 产生最大的正面影响。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大数据钻研

想找份更好的编程工作应该学什么?

编者按:Swizec Teller认为,这个问题的问题也许在于问错了问题。 许多人都问我类似这样的问题“我应该学什么才能拿到一份编程工作?”或者“我怎么才能在硅...

2757
来自专栏逸鹏说道

架构漫谈(六):软件架构到底是要解决什么问题?

前一篇文章简述了什么是软件。那么什么是软件架构呢?按照惯例,我们来看看是什么问题,是谁的问题。 要解决谁的问题?   如前所述,软件实际上就是把现实生活模拟到...

2655
来自专栏日志易的专栏

运维未来的发展方向是智能运维(AIops)

近年来运维技术飞速发展,运维团队大多建设好了各种系统:虚拟化、容器化、持续集成等等。但是如何有效的利用这些系统最终实现站点的高可用、高性能和高可扩展?随着智能化...

7592
来自专栏互联网开发者交流社区

总结个人职场常用管理方式

瀑布式开发用行业术语来解释就是,在软件定项的时候个开发阶段的准备:需求分析,组件定义,概要设计,详细设计,编码规范,冒烟测试,PRE/PRD测试等。

822
来自专栏互联网数据官iCDO

数字营销从业者必读 --- 7种数字营销策略完全指南

引言:本文分享了7种数字营销策略的清单,营销人员可以通过这些策略来帮助他们的团队和业务发展,同时我们还制定了关于数字策略和营销活动的速成课程。 翻译 | 陈明艳...

6264
来自专栏GIS讲堂

作为项目管理者如何避免项目的延期与执行过程中的加班问题

作为一个项目管理者,最担心的事情就是项目的不能够如期完成;作为一个项目实施者,最担心的是无休无止的加班。项目的不能够如期完成直接导致的是用户或者甲方对公司信誉、...

1814
来自专栏数据科学与人工智能

【陆勤阅读】数据可视化应遵循的五条核心原则

在数字时代初期,数据只是数学家与科学家们讨论的话题。而如今,不管任何领域,任何人,都逃脱不了对数据的讨论和研究。 由于数据大潮的到来和人们关于数据使用的讨论,一...

2216
来自专栏我是攻城师

拿什么来衡量工程师的生产力?

3397
来自专栏喔家ArchiSelf

Talk is cheap, show me

曾经特别喜欢阅读《xx本质论》系列丛书,当图灵的1月新书《软件开发本质论》上架时,果断买下,选一个并不忙碌的周末,倾听《敏捷宣言》起草者之一 Ron Jeffi...

852
来自专栏ThoughtWorks

王健:技术雷达之微服务架构

作为一家服务于全球不同类型客户的IT专业服务公司,ThoughtWorks一直追求最卓越的技术,并用它们来解决客户实际的问题。而为了体现技术卓越,Thought...

3127

扫码关注云+社区