DDD(域驱动设计)是微服务体系结构的核心和最重要的基础。不了解DDD就无法掌握微服务架构真正的美丽之处。
微服务架构顾名思义是一种将后端应用构建为一组小型服务的方法。每个服务都在自己的进程中运行,并使用HTTP / HTTPS,WebSocket或AMQP等协议与其他进程进行通信。每个微服务在特定的上下文边界内实现特定的端到端域或业务功能,并且每个微服务必须自主开发并且可以独立部署。
每个微服务都应拥有其相关的域数据模型和域逻辑(主权和分散数据管理)。
微服务架构的服务应为多大?
在开发微服务时,大小不应成为重点。相反,重要的一点应该是创建松散耦合的服务。以下是松散耦合服务的好处(针对每种服务):
在识别和设计微服务时,请尝试使其尽可能小,只要不需要与其他微服务有太多直接依赖关系即可。比微服务的大小更重要的是它必须具有的内部凝聚力以及与其他服务的独立性。
为什么使用微服务架构?
微服务架构优点是:“我提供长期的敏捷性。” 微服务使您可以基于许多可独立部署的服务来创建应用程序,从而在复杂,大型和高度可扩展的系统中实现更好的可维护性,每个服务均具有细化和自主的生命周期。
另外一个好处是,微服务可以独立扩展。您必须以一个单元为单位进行扩展,而不是拥有单个整体应用程序。例如借助Docker和Kubernetes轻松扩展。
以下是重要的好处:
微服务架构如何在生产中提供帮助?
以下是使基于微服务的系统成功投入生产的重要方面:
结论
DDD是微服务架构的一个非常重要的概念。事件源,CQRS,API网关等是微服务架构师的重要组成部分。如今, Docker , Kubernetes , Linux 等是可伸缩性的重要组成部分。
在最重要的供应商的支持下,Docker正在成为容器行业的事实上的标准。此外,微服务架构正在成为分布式关键任务应用程序的重要方法。
在基于微服务的体系结构中,应用程序建立在可以独立开发,测试,部署和版本控制的服务集合上。