基于DDD构建微服务:从战略设计到落地实践
深入探讨领域驱动设计(DDD)如何指导微服务的拆分与设计。从界限上下文、聚合、上下文映射到事件风暴,系统性地阐述 DDD 的战略设计工具如何帮助我们找到正确的服务边界,并通过事件驱动架构和 BFF 模式解决微服务间的通信与协作问题。
深入探讨领域驱动设计(DDD)如何指导微服务的拆分与设计。从界限上下文、聚合、上下文映射到事件风暴,系统性地阐述 DDD 的战略设计工具如何帮助我们找到正确的服务边界,并通过事件驱动架构和 BFF 模式解决微服务间的通信与协作问题。
前面我们对业内几种比较常见的注册中心做了介绍:Eureka、Zookeeper、Consul、Etcd。 并且在各个指标上做了对比:注册方式(watch/polling)、健康检查、雪崩保护、安全与权限,以及在Spring Cloud、Dubbo、Kubernets上的支持程度。方便我们在不同的场景...
我们前面在全景架构中对服务注册与发现做了大致的说明,本章我们着重详细说明微服务下注册与发现的这个能力。微服务注册与发现类似于生活中的电话通讯录的概念,它记录了通讯录服务和电话的映射关系。
关于服务拆分的切入点,我们先从MartinL.Abbott所著《架构即未来》中所介绍的AKF扩展立方体出发寻找一些灵感,然后给出本文中关于服务拆分的两大维度。 1. AKF扩展立方体 AKF扩展立方体(Scalability Cube)是一种可扩展模型,这个立方体有三个轴线,每个轴线描述扩展性的一...
前面我们学习了微服务的全景架构,了解到相对于传统单体架构,微服务的优势,以及系统服务化的发展趋势。 对于新启动的项目,我们在权衡之后可以大方的使用微服务架构。但其实大部分情况下,我们还要去维护一些以前研发的单体系统,这些系统可能因为访问流量的膨胀、功能的扩张而显得非常臃肿不堪,急需要向微服务架构迁移...
微服务架构提倡的单一应用程序划分成一组松散耦合的细粒度小型服务,辅助轻量级的协议,互相协调、互相配合,实现高效的应用价值,符合我们应用服务开发的发展趋势。
在很多项目的业务初期阶段,高速迭代上线是首要考虑的事情,对后期的容量预估、可扩展性和系统健壮性、高可用一般没有那么重视。但随着业务的发展,用户量、请求量的暴增, 发现原来的单体系统已经远远不满足需求了,特别是随着互联网整体的高速发展,对系统的要求越来越高。 但是物理服务器的CPU、内存、存储器、连接...
系统性地探讨微服务架构设计的核心关注点,包括服务注册发现、API 网关、服务容错、基础设施选型、CI/CD 流水线和可观测性体系,帮助你从 0 到 1 构建一套完整的微服务技术栈。