1. 笔记目录
  2. 软件架构与演进
  3. 当前词条

首页 › 软件架构与演进 › 正文

单体架构把主要功能部署在同一应用内,微服务把功能拆分为可独立部署的服务,过度抽象可能增加理解和修改的成本

· 来源:星苇探知 · 作者:傅清榆
责任编辑:邹景岑 · 二审:齐知宁 · 三审:奚书茉

笔记摘要

软件架构与演进

单体架构把主要功能部署在同一应用内

单体架构把主要功能部署在同一应用内。模块化单体在统一部署中保持清晰职责。微服务把功能拆分为可独立部署的服务。服务拆分会增加通信和一致性管理成本。领域边界有助于减少跨服务业务耦合。限界上下文限定某套模型与术语的适用范围。同一名称在不同业务上下文中可能含义不同。分层架构按照职责组织代码和依赖方向。

重放事件需要保持历史事件的解释一致

重放事件需要保持历史事件的解释一致。快照可以减少从头重建状态的成本。贫血模型把大部分行为移到外部服务。业务规则分散可能增加修改遗漏风险。设计模式概括反复出现问题的常见解法。工厂模式封装对象创建和选择的逻辑。策略模式允许替换某类处理算法。

六边形架构通过端口适配隔离外部技术

六边形架构通过端口适配隔离外部技术。依赖倒置使高层策略依赖抽象接口。事件驱动通过事件通知解耦部分交互过程。事件语义应明确表达已经发生的业务事实。命令表达希望执行但尚未完成的操作。命令查询分离区分修改状态与读取信息。读写模型分离不必然需要完全独立存储。事件溯源把状态变化保存为连续事件。

软件架构组织系统的重要组件及其关系

软件架构组织系统的重要组件及其关系。模块边界应围绕职责和变化原因划分。高内聚表示模块内部元素具有紧密关联。低耦合减少模块对其他部分细节的依赖。接口隐藏内部实现并表达可用行为。抽象需要保留调用方真正关心的约束。过度抽象可能增加理解和修改的成本。

笔记类型说明

来源:星苇探知

相关新闻

社区阅读:商场和图书馆是夏天避暑的好去处(社区阅读:商场、图书馆和博物馆都是夏天出门时的避暑点)国产11页,有一回学校停电,黑暗里我听见喜欢的同学在身边轻轻哼歌_喜欢的同学说过一句喜欢周杰伦的晴天在线亚洲精品无码中字:地温梯度在不同地区并不完全相同(地球由多个物理性质不同的内部圈层构成)【传输协议为应用提供端到端数据交付服务】序号用于识别字节位置和重复传输内容,三次握手建立连接所需的初始状态