天天看点

简单了解常见的架构模式

1.MVC(单体架构)

单体架构模式就是常说的mvc开发模型。将系统所有功能、模块的耦合关系都放在一个应用之中,比如:一个项目开发所有的文件都会以打包成一个jar包或者war包的形式放置到服务器上面。

简单了解常见的架构模式

1.1单体架构特点

  • 打包成一个独立的单元(以一个jar包或者war包的形式放置到服务器上面)
  • 一个应用只在一个进程的方式运行

1.2单体架构优点

  • 易于管理
  • 易于部署

1.3单体架构的缺点

  • 不利于测试
  • 迭代不便
  • 团队协作难(多人开发时,不方便)
  • 跨语言程度差(不利于多言协作)
  • 可靠性差

2.RPC(远程调用过程)

RPC(Remote Procedure Call):远程过程调用。他一种通过网络从远程计算机程序上请求

服务,而不需要了解底层网络技术的协议。

简单了解常见的架构模式

2.1RPC的优点

  1. 提升系统可扩展性
  2. 提升系统可维护性和持续交付能力
  3. 实现系统高可用

2.2RPC的缺点

  • 一个完善的RPC框架开发难度大
  • RPC框架调用成功率受限于网络状况
  • 调用远程方法对初学者来说难度大

3.SOA 架构

SOA(Service oriented Architecture):面向服务架构

它与RPC相比多了一个ESB,不再是客户端直接调用service。中间加了ESB来管理Service

简单了解常见的架构模式

3.1ESB

ESB(Enterparise Servce Bus):企业服务总线,服务中介。主要是提供了一个服务于服务

之间的交互。

ESB 包含的功能如:负载均衡,流量控制,加密处理,服务的监控,异常处理,监控

告急等等。

代表技术:Mule、WSO2

3.2SOA 架构优点

  • 更易维护
  • 更高的可用性
  • 更好的伸缩性

3.2SOA 架构缺点

  • 可靠性(Reliability)
  • 安全性(Security)
  • 编排 (Orchestration)
  • 遗留系统处理(Legacy support)
  • 语义 Semantics

4.微服务架构

微服务是一种架构风格。一个大型的复杂软件应用,由一个或多个微服务组成。系统中

的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任

务并很好的完成该任务。

简单了解常见的架构模式

4.1微服务特点

  • 系统是由多个服务构成
  • 每个服务可以单独独立部署
  • 每个服务之间是松耦合的。服务内部是高内聚的,外部是低耦合的。高内聚就是每个服务只关注完成一个功能

4.2优点

  • 测试容易
  • 可伸缩性强
  • 可靠性高
  • 跨语言程度会更加灵活
  • 团队协作容易
  • 系统迭代容易

4.2缺点

  • 运维成本过高,部署数量较多
  • 接口兼容多版本
  • 分布式事务
这是个人学习笔记的记录,部分资料来自于网络,如有版权问题,可以留言,我及时更正。