Java 系统架构——MVC、RPC、SOA和微服务架构
MVC架构
定义: 其实MVC架构就是一个单体架构。
代表技术: Struts2、SpringMVC、Spring、Mybatis 等等
RPC架构
定义: RPC(Remote Procedure Call):远程过程调用。它是一种通过网络从远程计算机程序上请求,而不需要了解底层网络技术的协议的服务。
代表技术: Thrift、Hessian 等等。
SOA架构
定义: SOA(Service Oriented Architecture) —— 面向服务架构。一种利用ESB(Enterparise Service Bus 即:企业服务总线)的服务中介来提供服务之间的交互。ESB包含的功能 如:负载均衡、流量控制、加密处理、服务监控、异常处理、监控告急等等。
代表技术: Mule、WSO2
微服务架构
定义: 微服务即是利用注册服务中心技术(zoomkeeper/eureka)来管理服务的一个轻量级架构方案。
代表技术: SpringCloud、dubbo 等等。