单体架构、微服务架构,MVC、RPC、SOA、微服务架构的区别

单体架构、微服务架构,MVC、RPC、SOA、微服务架构的区别

一、单体架构

单体架构也称为单体系统或者单体应用,就是把一种系统中的所有的功能、模块耦合在一个应用中的架构方式;

1、单体架构的特点:

基于单体架构的项目最终会打包成一个唯一的jar包或者war包;它会以一个进程的方式来运行;

1、单体架构的优缺点:

优点:项目易于管理,部署简单。
缺点:测试成本高、可伸缩性差、可靠性差、系统的迭代困难、跨语言程度差、团队协作难。

二、微服务架构

微服务架构是一种架构风格,一个大型的复杂的软件应用,有一个或者多个微服务组成,系统中的各个微服务可以独立部署,各个微服务之间是松耦合的,每个微服务仅仅关注与完成一件任务并很好的完成该任务。

1、微服务架构的特点:

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

1、微服务构的优缺点:

优点:测试容易,可伸缩性强,可靠性高,跨语言程序更加灵活,团队协作容易,系统迭代容易。
缺点:运维的成本高,部署的数量多,需要考虑接口兼容多版本的问题,分布式系统的复杂性(负载均衡,服务的容错等等),分布式事务。

三、MVC、RPC、SOA、微服务架构的区别

单体架构、微服务架构,MVC、RPC、SOA、微服务架构的区别_第1张图片
MVC架构:就是一个单体架构。代表技术:spring,springMVC,Mybatis等等、
RPC架构:(Remote Procedure Call)远程过程调用,通过一种网络从远程计算机程序上请求服务,没有注册中心,不需要了解底层网络技术的协议。代表技术:Thrift,Hessian等。
SOA架构:基于RPC再次净化,面向服务的结构。ESB(Enterprise Service Bus):企业服务总线,服务中介(商业应用),主要提供服务与服务之间的交互。ESB包含的功能:负载均衡,流量控制,加密处理,服务的监控,异常处理,监控告急等等。代表技术:Mule(付费),WSO2等。
微服务架构:就是一个轻量级的服务治理方案。代表技术:Spring Cloud,Dubbo等等。

你可能感兴趣的:(微服务架构)