微服务基础与设计模式全解析
1. 微服务设计模式概述
微服务架构带来诸多优势的同时,也伴随着一些挑战。在单体应用中,仅需处理一个应用的部署;而在微服务架构里,依据应用规模,可能会有数百个服务来完成相同的工作。为有效利用这种架构风格,接下来将探讨一些与微服务相关的设计模式。这些设计模式依据其所处理工作的性质,可分为不同类别。
2. 分解模式
当把应用从单体架构转换为微服务架构,或者使用微服务架构编写新应用时,最大的挑战在于如何将应用划分为微服务。这需要遵循特定策略,将应用功能逻辑隔离成自主服务,并定义数据访问和通信策略。以下是几种常见的微服务分解模式。
2.1 按业务能力分解
此分解策略是依据为应用识别出的业务能力,将单体应用划分为自主微服务。该分解基于业务架构建模概念,即业务能力是企业为创造业务价值所开展的活动。以信用卡应用为例,信用卡产品营销、信用卡账户开户、信用卡激活以及信用卡对账单生成等,都是其业务能力的体现。
随着时间推移,业务开展方式可能改变,但核心业务变化不大。因此,按业务能力分解应用,虽可能改变业务执行方式,但不会改变业务能力。例如,今天可能通过纸质副本接受信用卡申请,明天可能通过在线、移动应用或电话接受申请,但信用卡账户的开户方式和后端激活流程不会改变。按业务能力分解应用,能与当前业务运作方式高度契合,业务用户不会有明显感知。
要按业务能力分解应用,需要一个熟悉组织不同业务单元的团队,以及了解所有业务能力、能协助分解应用的主题专家。
在识别微服务时,需从业务目的角度识别业务能力。例如,将创建客户视为业务能力并为此创建服务是不正确的,因为企业的业务是为客户提供
超级会员免费看
订阅专栏 解锁全文
170万+

被折叠的 条评论
为什么被折叠?



