SpringCloud微服务和其他服务比较

1 各个服务直观图

服务区别

2 单体架构

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

2.1 单体架构的特点

  • 打包成一个独立的单元(导成一个唯一的 jar 包或者是 war 包)
  • 会一个进程的方式来运行
    在这里插入图片描述

2.2 单体架构的优缺点

2.2.1 优点

  • 项目易于管理
  • 部署简单

2.2.2 缺点

  • 测试成本高
  • 可伸缩性差
  • 可靠性差
  • 迭代困难
  • 跨语言程度差
  • 团队协作难

3 MVC、 RPC、 SOA、 微服务架构之间的区别

3.1 MVC 架构

其实MVC 架构就是一个单体架构。代表技术:Struts2SpringMVCSpringMybatis 等等。

3.2 RPC 架构

RPC(Remote Procedure Call): 远程过程调用。 他一种通过网络从远程计算机程序上请求服务, 而不需要了解底层网络技术的协议。
代表技术: ThriftHessian 等等

3.3 SOA 架构

SOA(Service oriented Architecture):面向服务架构
ESB(Enterparise Servce Bus):企业服务总线, 服务中介。 主要是提供了一个服务于服务之间的交互。
ESB 包含的功能如: 负载均衡, 流量控制, 加密处理, 服务的监控, 异常处理, 监控告急等等。
代表技术: MuleWSO2

3.4 微服务架构

微服务就是一个轻量级的服务治理方案。代表技术: SpringClouddubbo 等等

3.5 SpringCloud微服务架构和SOA架构

3.5.1 SOA 架构

因为传统项目的耦合度比较高,所以架构的发展逐步面向服务化,将共同的业务逻辑抽取出来,形成一个服务,可以供其他服务所调用,服务和服务之间的调用通过RPC远程调用(底层就是httpclient技术)
SOA 架构中通常使用xml 实现通讯,xml 比较重,占宽带,相对冗余,在高并发情况下,很受影响。底层是使用webservice 技术,ESB 消息总站

3.5.2 微服务架构

  • Springcloud 就是微服务架构,是由SOA 架构发展而来,没有ESB 总站的传输方式,采用http + json 轻量级的传输方式
  • 微服务的架构更加的轻量级
  • 微服务架构中,服务的独立性更加的强,可以有独立数据库,独立的缓存、数据库、消息队列等资源,保障服务与服务之间更加的不受影响
  • 微服务架构中,服务化的粒度更加的精细,所以,更加适合敏佳开发

3.5.3 springcloud微服务架构

SpringCloud 提供了一套完整的微服务解决方案,不像其他框架只是解决了微服务中某个问题。
主要可以分为:

  • 服务治理(注册中心):Dubbo (阿里巴巴),Dubbox(当当网在Dubbo继续开发的),Eureka(已经闭源了),consul
  • 分布式配置中心:disconf(百度)、Netfix的Archaius、360的QConf、SpringCloud、携程的阿波罗等。
  • 分布式任务调度平台:xxl-job
  • 服务跟踪:hyra(京东),springcloud的sleuth等

3.6 springcloud和Dubbo对比

在这里插入图片描述
DubboSpring Cloud性能有优势,由于Spring CloudDubbo天生使用的协议层面不一样,前者是HTTP,后者是TCP(使用的是Netty NIO框架,序列化使用的阿里定制版Hessian2),导致两个框架的性能差距略大

发布了334 篇原创文章 · 获赞 186 · 访问量 31万+

猜你喜欢

转载自blog.csdn.net/u012060033/article/details/103488961
今日推荐