MVC RPC SOA 微服务架构的区别
单体架构
MVC(Model View Controller)
M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。
多服务架构:
1.RPC(Remote Procedure Call)远程过程调用
一种通过网络从远程计算机程序上请求服务,而不需要了解底层架构,代表技术有:Thrift(用来进行可扩展且跨语言的服务的开发),Hessian(基于http协议的RPC框架),不适用于服务过多的场景
2.SOA(Service Oriented Architecture)面向服务架构
相比于RPC,SOA多了ESB(Enterparise Serivice Bus)企业服务总线,提供服务之间的交互,包含负载均衡,流量控制,加密处理,服务的监控,异常处理,监控告急等。ESB的代表技术有Mule(以java为核心的消息ESB付费),WSO2(开源,轻量级且功能丰富)
3.微服务架构(轻量级的服务治理方案)
相比于SOA,微服务更加轻量,代表技术:dubbo SpringCloud
注册中心是企业服务总线的一个轻量级的替代方案,代表的注册中心有zookeeper,eureka