专栏名称: HULK一线技术杂谈
HULK是360的私有云平台,丰富的一线实战经验,为你带来最有料的技术分享
目录
相关文章推荐
四川交通广播  ·  灰柱最高达10000米!印尼火山大规模喷发 ·  9 小时前  
地缘看世界  ·  怛罗斯之战——大唐与阿拉伯帝国碰撞 ·  昨天  
中国国家地理  ·  中国的“城市特产”到底是什么? ·  昨天  
中国国家地理  ·  河流与海洋的交汇处,草海绵延 ·  昨天  
51好读  ›  专栏  ›  HULK一线技术杂谈

微服务设计模式(上)

HULK一线技术杂谈  · 公众号  ·  · 2018-11-06 18:07

正文

请到「今天看啥」查看全文


a、根据业务能力分解

问题

微服务就是让服务松散耦合,应用单一职责原则。然而,将应用程序分解成更小的部分必须逻辑地完成。如何将应用程序分解为小型服务?

解决方案

一种策略是根据业务能力分解。业务能力是企业为了产生价值而做的事情。给定业务的功能集取决于业务类型。例如,保险公司的能力通常包括销售、营销、承保、理赔处理、开票、合规等。每个业务能力都可以被看作是一种服务,只是它是面向业务的,而非技术性的。

b、根据子域分解

问题

使用业务功能分解应用程序可能是一个很好的开始,但是您会遇到所谓的“上帝类”,它们不容易分解。这些类在多个服务中很常见。例如,Order类将用于Order管理、Order收入、Order交货等等。我们如何分解它们?

解决方案

对于“上帝类”问题,DDD(领域-驱动 设计)起到了拯救作用。它使用子域和有界上下文概念来解决这个问题。DDD将为企业创建的整个领域模型分解为子领域。每个子域都有一个模型,该模型的作用域称为有界上下文。每个微服务都将围绕有界上下文开发。







请到「今天看啥」查看全文