当前位置: 首页 > news >正文

【微服务】------常见模型的分析与比较

DDD 分层架构

整洁架构

整洁架构又名“洋葱架构”。为什么叫它洋葱架构?看看下面这张图你就明白了。整洁架构的层就像洋葱片一样,它体现了分层的设计思想。

整洁架构最主要的原则是依赖原则,它定义了各层的依赖关系,越往里依赖越低,代码级别越高,越是核心能力。外圆代码依赖只能指向内圆,内圆不需要知道外圆的任何情况。

六边形架构

六边形架构又名“端口适配器架构”。追溯微服务架构的渊源,一般都会涉及到六边形架构。

六边形架构的核心理念是:应用是通过端口与外部进行交互的。我想这也是微服务架构下 API 网关盛行的主要原因吧。

三种微服务架构模型的对比和分析

这三种架构都考虑了前端需求的变与领域模型的不变。

DDD 分层架构、整洁架构、六边形架构都是以领域模型为核心,实行分层架构,内部核心业务逻辑与外部应用、资源隔离并解耦。请务必记好这个设计思想,今后会有大用处。

项目级微服务

项目级微服务的内部遵循分层架构模型就可以了。领域模型的核心逻辑在领域层实现,服务的组合和编排在应用层实现,通过 API 网关为前台应用提供服务,实现前后端分离。但项目级的微服务可能会调用其它微服务,你看在下面这张图中,比如某个项目级微服务 B 调用认证微服务 A,完成登录和权限认证。

企业级中台微服务

我们可以在中台微服务之上增加一层,你看下面这张图,增加的这一层就位于红色框内,它的主要职能就是处理跨中台微服务的服务组合和编排,以及微服务之间的协调,它还可以完成前端不同渠道应用的适配。如果再将它的业务范围扩大一些,我可以将它做成一个面向不同行业和渠道的服务平台。

BFF 微服务与其它微服务存在较大的差异,就是它没有领域模型,因此这个微服务内也不会有领域层。BFF 微服务可以承担应用层和用户接口层的主要职能,完成各个中台微服务的服务组合和编排,可以适配不同前端和渠道的要求。

http://www.lryc.cn/news/335276.html

相关文章:

  • C#实现HTTP上传文件的方法
  • pdffactory pro 8注册码序列号下载 附教程
  • 软件供应链安全:寻找最薄弱的环节
  • Training - Kubeflow 的 PyTorchJob 配置 DDP 分布式训练 (ncclInternalError)
  • java Web在线考试管理系统用eclipse定制开发mysql数据库BS模式java编程jdbc
  • 爬虫 新闻网站 以湖南法治报为例(含详细注释) V4.0 升级 自定义可任意个关键词查询、时间段、粗略判断新闻是否和优化营商环境相关,避免自己再一个个判断
  • 科技云报道:从“奇点”到“大爆炸”,生成式AI开启“十年周期”
  • 【用户案例】太美医疗基于Apache DolphinScheduler的应用实践
  • 权限管理系统【BUG】
  • 【CPA考试】2024注册会计师报名照片尺寸要求解读及手机拍照方法
  • 高并发环境下的实现与优化策略
  • 华为海思校园招聘-芯片-数字 IC 方向 题目分享——第二套
  • UML2.0在系统设计中的实际使用情况
  • django celery 异步任务 异步存储
  • apex0.1版本安装踩坑指南
  • HTML — 弹性布局(2)
  • MYSQL 8.0版本修改用户密码(知道登录密码)和Sqlyog错误码2058一案
  • Linux中磁盘管理
  • tailwindcss在manoca在线编辑智能感知
  • 通过本机调试远端路由器非直连路由
  • React路由快速入门:Class组件和函数式组件的使用
  • Pytorch数据结构:GPU加速
  • OpenHarmony开发-连接开发板调试应用
  • RabbitMQ如何保证消息的幂等性???
  • 【QT】Qt Charts的实际使用中的一些小细节完善如:resetZoom、fitInView
  • 上位机图像处理和嵌入式模块部署(qmacvisual缺失的颜色检测)
  • macOS制作C/C++ app
  • 学习笔记——C语言基本概念链表——(12)
  • 开发环境解决跨域问题
  • 物理服务器与云服务器的租用对比