前文明确了新功能的业务需求,下一步是确定技术解决方案:需要开发哪些功能,如何利用已有的微服务和要新开发的微服务来支持这些功能。想要开发出成功的、可维护的微服务应用,为每个微服务划定合适的范围和确定目标是至关重要的。
这个过程称作服务划界(service scoping)。也被称作分解(decomposition)或分区(partitioning)。将一个应用拆分为一个个的服务是非常有挑战性的工作——这既是一门科学,也是一门艺术。以下是3种服务划分的策略。
(1)按照业务能力和限界上下文(bounded context)划分——服务将对应于粒度相对粗一些但又紧密团结成一个整体的业务功能领域。
(2)按业务用例划分——这种服务应该是一个“动词”型,反映了系统中将发生的动作。
(3)按易变性划分——服务会将那些未来可能发生变化的领域封装在内部。
没有必要孤立地应用这些方法,在许多微服务应用中,我们可以综合应用这些划分策略,以确保设计出来的服务能够适合不同的场景和需求。
摘取自 摩根·布鲁斯和保罗·A.佩雷拉的《微服务实战》
网友评论