1.MVC(单体架构)
单体架构模式就是常说的mvc开发模型。将系统所有功能、模块的耦合关系都放在一个应用之中,比如:一个项目开发所有的文件都会以打包成一个jar包或者war包的形式放置到服务器上面。
1.1单体架构特点
- 打包成一个独立的单元(以一个jar包或者war包的形式放置到服务器上面)
- 一个应用只在一个进程的方式运行
1.2单体架构优点
- 易于管理
- 易于部署
1.3单体架构的缺点
- 不利于测试
- 迭代不便
- 团队协作难(多人开发时,不方便)
- 跨语言程度差(不利于多言协作)
- 可靠性差
2.RPC(远程调用过程)
RPC(Remote Procedure Call):远程过程调用。他一种通过网络从远程计算机程序上请求
服务,而不需要了解底层网络技术的协议。
2.1RPC的优点
- 提升系统可扩展性
- 提升系统可维护性和持续交付能力
- 实现系统高可用
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缺点
- 运维成本过高,部署数量较多
- 接口兼容多版本
- 分布式事务
这是个人学习笔记的记录,部分资料来自于网络,如有版权问题,可以留言,我及时更正。
。