DDD(领域驱动设计)是微服务体系结构的核心和最重要的基础 – Prabhat

DDD(域驱动设计)是微服务体系结构的核心和最重要的基础。不了解DDD就无法掌握微服务架构真正的美丽之处。

微服务架构顾名思义是一种将后端应用构建为一组小型服务的方法。每个服务都在自己的进程中运行,并使用HTTP / HTTPS,WebSocket或AMQP等协议与其他进程进行通信。每个微服务在特定的上下文边界内实现特定的端到端域或业务功能,并且每个微服务必须自主开发并且可以独立部署

每个微服务都应拥有其相关的域数据模型和域逻辑(主权和分散数据管理)。

DDD(领域驱动设计)是微服务体系结构的核心和最重要的基础 - Prabhat

微服务架构的服务应为多大?

在开发微服务时,大小不应成为重点。相反,重要的一点应该是创建松散耦合的服务。以下是松散耦合服务的好处(针对每种服务):

  • 开发自主权
  • 部署方式
  • 可扩展性

在识别和设计微服务时,请尝试使其尽可能小,只要不需要与其他微服务有太多直接依赖关系即可。比微服务的大小更重要的是它必须具有的内部凝聚力以及与其他服务的独立性。

为什么使用微服务架构?

微服务架构优点是:“我提供长期的敏捷性。” 微服务使您可以基于许多可独立部署的服务来创建应用程序,从而在复杂,大型和高度可扩展的系统中实现更好的可维护性,每个服务均具有细化和自主的生命周期。

另外一个好处是,微服务可以独立扩展。您必须以一个单元为单位进行扩展,而不是拥有单个整体应用程序。例如借助DockerKubernetes轻松扩展。

以下是重要的好处:

  • 您可以仅扩展需要更多处理能力或网络带宽来满足需求的功能区域,而不必扩展应用程序中不需要扩展的其他区域。
  • 微服务方法允许对每个 微
    服务进行敏捷更改和快速迭代,因为您可以更改复杂,大型和可伸缩应用程序的特定,较小区域。
  • 架构基于微服务的细粒度应用程序可以实现持续集成和持续交付实践。它还加快了向应用程序中交付新功能的速度。
  • 应用程序的细粒度组合还使您能够独立运行和测试微服务,并在保持它们之间明确的合同的同时自主地发展它们。
  • 只要不更改接口或协定,就可以更改任何微服务的内部实现或添加新功能,而不会破坏其他微服务。

微服务架构如何在生产中提供帮助?

以下是使基于微服务的系统成功投入生产的重要方面:

  • 监视和健康检查服务和基础结构。
  • 服务的可扩展基础架构(即和协调器)。
  • 多个级别的安全设计和实现:身份验证,授权,机密管理,安全通信等。
  • 快速交付应用程序,通常由不同的团队专注于不同的微服务。
  • DevOps
    和CI / CD实践和基础架构。

结论

DDD是微服务架构的一个非常重要的概念。事件源,CQRS,API网关等是微服务架构师的重要组成部分。如今, Docker
, Kubernetes
, Linux
等是可伸缩性的重要组成部分。

在最重要的供应商的支持下,Docker正在成为容器行业的事实上的标准。此外,微服务架构正在成为分布式关键任务应用程序的重要方法。

在基于微服务的体系结构中,应用程序建立在可以独立开发,测试,部署和版本控制的服务集合上。

原文 

https://www.jdon.com/54511

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » DDD(领域驱动设计)是微服务体系结构的核心和最重要的基础 – Prabhat

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址