上章我们了解了什么是微服务,所以本章来介绍微服务构架。目前在国内用到的微服务构架有SpringCloud和Dubbo,所以本章将对这两个构架的优缺点和特点进行比较。

Dubbo,是阿里巴巴服务化治理的核心框架。Springcloud,是一系列关于服务治理框架的集合。

一、背景

Dubbo是来源于阿里团队,SpringCloud是来源于Spring团队,Spring广泛遍布全球各种企业开发中,可以确保SpringCloud的后续更新维护,Dubbo虽然来自国内顶尖的阿里团队,但是曾经被阿里弃用停更,但是后来阿里又低调重启维护。

二、项目地址

Springcloud项目名称:school-springcloud-springboot,地址如下:

码云:https://gitee/smirk/easy-springcloud

github:https://github/xiaoze-smirk/school-springcloud-springboot

Dubbo项目名称:school-dubbo-springboot,地址如下:

码云:https://gitee/smirk/school-dubbo-springboot

github:https://github/xiaoze-smirk/school-dubbo-springboot

三、组件

spring cloud相当于整机,组件都相当完整;dubbo相当于组装机,组件可以按自己需求自由选择;整体来说整机的性能有保证,组装的机子更自由。

四、协议

Dubbo缺省协议采用单一长连接和NIO异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况

Spring Cloud 使用HTTP协议的REST API

五、运行流程

Dubbo:每个组件都是需要部署在单独的服务器上,gateway用来接受前端请求、聚合服务,并批量调用后台原子服务。每个service层和单独的DB交互。

SpringCloud:所有请求都统一通过 API 网关(Zuul)来访问内部服务。网关接收到请求后,从注册中心(Eureka)获取可用服务。由 Ribbon 进行均衡负载后,分发到后端的具体实例。微服务之间通过 Feign 进行通信处理业务。

由于SpringCloud来源于Spring,质量、稳定性、持续性都可以得到保证;天然支持Spring Boot,更加便于业务落地;对于中小企业来讲,使用门槛较低,更容易上手。

所以特别先生从下章开始将具体带领大家从零基础搭建一整套完整的SpringCloud构架,我是特别先生,微信关注--特别先生讲Java,每天都有Java干货分享,不迷路。

更多推荐

springcloud阿里巴巴五大组件_认识SpringCloud