2.mvc、rpc、soa、微服务的区别

mvc、rpc、soa、微服务的区别


2.mvc、rpc、soa、微服务的区别

mvc

当业务规模很小时,将所有功能都部署在同一个进程中,通过双机或者前置负载均衡器实现负载分流;此时,用于分离前后台逻辑的 MVC 架构是关键。

rpc

当垂直应用越来越多,应用之间交互不可避免,将核心和公共业务抽取出来,作为独立的服务,实现前后台逻辑分离。此时,用于提高业务复用及拆分的 RPC 框架是关键。

soa

相比于RPC,SOA多了ESB(Enterparise Serivice Bus)企业服务总线,提供服务之间的交互,包含负载均衡,流量控制,加密处理,服务的监控,异常处理,监控告急等。ESB的代表技术有Mule(以java为核心的消息ESB付费),WSO2(开源,轻量级且功能丰富)

微服务

微服务基于soa架构,它比soa的服务分化更加细致,相比于SOA,微服务更加轻量,代表技术:dubbo SpringCloud
注册中心是企业服务总线的一个轻量级的替代方案,代表的注册中心有zookeeper,eureka。