互联网主流微服务架构模型对比分析(上)

简介: 互联网主流微服务架构模型对比分析(上)

本文将对比分析DDD分层架构、整洁架构、六边形架构。

整洁架构

又名“洋葱架构”(看图就懂),体现了分层思想。

同心圆代表应用软件的不同部分,由内到外依次是

  • 领域模型
  • 领域服务
  • 应用服务
  • 容易变化的内容
    比如用户接口和基础设施。

该架构最主要原则:依赖原则,它定义了各层依赖关系,越往内依赖越低,代码级别越高,能力越核心。外圈代码依赖只能指向内圈,内圈无需知道外圈任何情况。

image.png

职能划分

  • 领域模型
    实现领域内核心业务逻辑,封装了企业级业务规则。领域模型的主体是实体(可以是一个带方法的对象,也可以是一个数据结构和方法集合)。
  • 领域服务
    实现涉及多个实体的复杂业务逻辑。
  • 应用服务

实现与用户操作相关的服务组合与编排,包含了应用特有的业务流程规则,封装和实现了系统所有用例。最外层

主要提供适配的能力,分为主动适配和被动适配。

  • 主动适配主要实现外部用户、网页、批处理和自动化测试等对内层业务逻辑访问适配
  • 被动适配主要是实现核心业务逻辑对基础资源访问的适配,如DB、缓存、文件系统和MQ等。

红圈内的领域模型、领域服务和应用服务一起组成软件核心业务能力。

六边形架构

又名“端口适配器架构”。

  • 核心理念
    应用通过端口与外部交互
  • 红圈内的核心业务逻辑(应用程序和领域模型)与外部资源(包括APP、Web应用以及数据库资源等)完全隔离,仅通过适配器交互。它解决了业务逻辑与用户界面的代码交错问题,很好实现前后端分离。六边形架构各层的依赖关系与整洁架构一样,都是由外向内依赖。
  • image.png

职能划分

系统分为内六边形和外六边形:

  • 红圈内六边形
    实现应用的核心业务逻辑
  • 外六边形

    完成外部应用、驱动和基础资源等的交互和访问,对前端应用以API主动适配方式提供服务,对基础资源以依赖反转被动适配的方式实现资源访问

该架构的一个端口可能对应多个外部系统,不同外部系统也可能使用不同适配器,由适配器负责协议转换。这就使得应用程序能够以一致的方式被用户形式使用。

现在,很多声称使用分层架构的团队实际上使用的是六边形架构。这是因为 很多项目都使用了某种形式的依赖注入。并不是说依赖注入天生就是六边形架 构,而是说使用依赖注入的架构自然地具有了端口与适配器风格。

架构模型对比分析

虽然DDD分层架构、整洁架构、六边形架构的架构模型表现形式不同,但设计思想正是微服务架构高内聚低耦合原则的完美体现,而它们身上闪耀的正是以领域模型为中心的设计思想。

image.png

红色实线边框用于将核心业务逻辑与外部应用、基础资源进行隔离。


红框内部主要实现核心业务逻辑,但核心业务逻辑也有差异,有属于领域模型,有属于面向用户的用例和流程编排能力。按这种功能差异,在这三种架构划分了应用层和领域层,承担不同业务逻辑。


领域层实现面向领域模型,实现领域模型的核心业务逻辑,属原子模型,需保持领域模型和业务逻辑稳定,对外提供稳定的细粒度领域服务,所以是架构核心。


应用层实现面向用户操作相关的用例和流程,对外提供粗粒度API服务。适配前台应用和领域层,接收前台需求,随时做出响应和调整,尽量避免将前台需求传到领域层。应用层作为配速齿轮位于前台应用和领域层间。


这三种架构都考虑了前端需求的变与领域模型的不变。需求变幻无穷,但变化总是有矩可循的,用户体验、操作习惯、市场环境以及管理流程的变化,往往会导致界面逻辑和流程的多变。但核心领域逻辑基本不大变,领域模型相对稳定,用例和流程则会随外部需求而随时调整。


架构模型通过分层控制需求变化从外到里对系统影响,从外向里受需求影响逐步减小。面向用户的前端可以快速响应外部需求进行调整和发布,应用层通过服务组合和编排来实现业务流程的快速适配上线,减少传到领域层的需求,使领域层保持长期稳定。


这样设计的好处,可保证领域层核心业务逻辑不会因外部需求和流程的变动而调整。


目录
相关文章
|
4月前
|
机器学习/深度学习 人工智能 监控
大型动作模型LAM:让企业重复任务实现80%效率提升的AI技术架构与实现方案
大型动作模型(LAMs)作为人工智能新架构,融合神经网络与符号逻辑,实现企业重复任务的自动化处理。通过神经符号集成、动作执行管道、模式学习、任务分解等核心技术,系统可高效解析用户意图并执行复杂操作,显著提升企业运营效率并降低人工成本。其自适应学习能力与上下文感知机制,使自动化流程更智能、灵活,为企业数字化转型提供坚实支撑。
356 0
大型动作模型LAM:让企业重复任务实现80%效率提升的AI技术架构与实现方案
|
5月前
|
存储 BI Shell
Doris基础-架构、数据模型、数据划分
Apache Doris 是一款高性能、实时分析型数据库,基于MPP架构,支持高并发查询与复杂分析。其前身是百度的Palo项目,现为Apache顶级项目。Doris适用于报表分析、数据仓库构建、日志检索等场景,具备存算一体与存算分离两种架构,灵活适应不同业务需求。它提供主键、明细和聚合三种数据模型,便于高效处理更新、存储与统计汇总操作,广泛应用于大数据分析领域。
591 2
|
6月前
|
人工智能 API 数据安全/隐私保护
Apifox 与 Apipost 的 API 文档引擎对比:底层架构、性能与可扩展性分析
深入探索市场上两大主流API工具——Apifox和Apipost的文档能力时,发现了令人惊讶的差距。这不仅仅是功能多寡的问题,更关乎开发效率与团队协作的质变。
|
7月前
|
人工智能 负载均衡 API
长连接网关技术专题(十二):大模型时代多模型AI网关的架构设计与实现
随着 AI 技术快速发展,业务对 AI 能力的渴求日益增长。当 AI 服务面对处理大规模请求和高并发流量时,AI 网关从中扮演着至关重要的角色。AI 服务通常涉及大量的计算任务和设备资源占用,此时需要一个 AI 网关负责协调这些请求来确保系统的稳定性与高效性。因此,与传统微服务架构类似,我们将相关 API 管理的功能(如流量控制、用户鉴权、配额计费、负载均衡、API 路由等)集中放置在 AI 网关层,可以降低系统整体复杂度并提升可维护性。 本文要分享的是B站在大模型时代基于多模型AI的网关架构设计和实践总结,希望能带给你启发。
583 4
|
3月前
|
数据采集 机器学习/深度学习 搜索推荐
MIT新论文:数据即上限,扩散模型的关键能力来自图像统计规律,而非复杂架构
MIT与丰田研究院研究发现,扩散模型的“局部性”并非源于网络架构的精巧设计,而是自然图像统计规律的产物。通过线性模型仅学习像素相关性,即可复现U-Net般的局部敏感模式,揭示数据本身蕴含生成“魔法”。
187 3
MIT新论文:数据即上限,扩散模型的关键能力来自图像统计规律,而非复杂架构
|
3月前
|
Java API 开发工具
灵码产品演示:软件工程架构分析
本演示展示灵码对复杂软件项目的架构分析与文档生成能力。通过Qwen3模型,结合PlantUML,自动生成系统架构图、微服务时序图,并提取API接口文档,实现高效、智能的代码理解与文档输出。
258 5
|
3月前
|
存储 JSON 数据处理
ClkLog埋点与用户行为分析系统:架构升级与性能全面提升
随着越来越多企业在实际业务中使用 ClkLog,数据规模和分析需求也不断提升,部分用户日活已经超过10万,为了顺应这一趋势,ClkLog 秉持 “开放透明、持续演进”的理念,推出了迄今为止最重要的一次性能优化升级。新版本在大规模数据处理与复杂查询场景中,性能表现实现了跨越式提升。经过多轮研发与严格测试,新版本现已正式上线:在原有付费版 1.0 的基础上架构全面升级,并同步发布全新的 2.0 版本。为用户带来更强的性能与更广的适用场景。
|
2月前
|
机器学习/深度学习 存储 缓存
115_LLM基础模型架构设计:从Transformer到稀疏注意力
大型语言模型(LLM)的架构设计是其性能的核心决定因素。从2017年Transformer架构的提出,到如今的稀疏注意力和混合专家模型,LLM架构经历了快速的演进。本文将全面探讨LLM基础架构的设计原理,深入分析Transformer的核心机制,详细介绍稀疏注意力、MoE等创新架构,并展望未来架构发展方向。通过数学推导和实践案例,为构建高效、强大的LLM提供全面指导。
|
2月前
|
机器学习/深度学习 自然语言处理 算法
48_动态架构模型:NAS在LLM中的应用
大型语言模型(LLM)在自然语言处理领域的突破性进展,很大程度上归功于其庞大的参数量和复杂的网络架构。然而,随着模型规模的不断增长,计算资源消耗、推理延迟和部署成本等问题日益凸显。如何在保持模型性能的同时,优化模型架构以提高效率,成为2025年大模型研究的核心方向之一。神经架构搜索(Neural Architecture Search, NAS)作为一种自动化的网络设计方法,正在为这一挑战提供创新性解决方案。本文将深入探讨NAS技术如何应用于LLM的架构优化,特别是在层数与维度调整方面的最新进展,并通过代码实现展示简单的NAS实验。
|
4月前
|
编解码 文字识别 自然语言处理
Dots.ocr:告别复杂多模块架构,1.7B参数单一模型统一处理所有OCR任务22
Dots.ocr 是一款仅1.7B参数的视觉语言模型,正在重塑文档处理技术。它将布局检测、文本识别、阅读顺序理解和数学公式解析等任务统一于单一架构,突破传统OCR多模块流水线的限制。在多项基准测试中,其表现超越大参数模型,展现出“小而精”的实用价值,标志着OCR技术向高效、统一、灵活方向演进。
599 0
Dots.ocr:告别复杂多模块架构,1.7B参数单一模型统一处理所有OCR任务22

热门文章

最新文章