常用架构模式
1 事件驱动架构
通过事件通知系统中各个组件的架构模式。系统的不同部分通过事件进行通信,当某个操作完成后会生成一个事件,其他组件可以监听,并对该事件作出响应。
常见应用场景:金融交易/物联网中的实时监控/电商和个性化推荐系统中的用户行为追踪/分布式系统中的消息中间件和日志系统
2 分层架构
——————
表示层
——————
业务逻辑层
——————
数据持久层
——————
数据库层
——————
将系统分成多个层次的架构模式,每一层都提供特定的服务,并只与相邻上下层进行交互
常见应用场景:ERP/CRM等传统企业应用,电商应用CMS等web应用
3 整体架构
将所有的功能模块都集成在一个单一应用程序的架构模式。所有的功能组件共享相同的代码和部署环境
常见应用场景:小型的个人项目/初创企业产品
4 微内核架构
将核心功能和插件分离的架构模式,核心部分提供最基本的服务,其它的功能都能通过插件实现与核心的交互。
常见应用场景:linux/windows/vs code/浏览器
5 微服务架构
将应用程序拆分为一系列小型的独立部署的服务架构模式,每个服务都有自己的业务逻辑和数据库,可以独立开发部署以及扩展
常见应用场景:淘宝/京东/银行系统/基于云计算的分布式应用等
6 总结
架构模式 | 优点 | 缺点 | 应用场景 |
---|---|---|---|
事件驱动架构 | 低耦合/高扩展/实时处理 | 复杂性高/数据一致性问题/调试麻烦 | 实时监控系统/用户行为追踪/分布式系统 |
分层架构 | 清晰结构/独立开发/复用性高 | 性能开销/僵化结构/过度分层 | 企业级应用/Web应用 |
整体架构 | 简单部署/高性能/开发简单 | 扩展性差/高耦合/单点故障 | 小型应用/初创项目 |
微内核架构 | 灵活扩展/简化核心/模块化 | 复杂性高/性能开销/安全性问题 | OS/插件化应用 |
微服务架构 | 独立部署/灵活性高/故障隔离 | 运维复杂/通信开销/数据一致性 | 大型复杂应用/云原生应用 |