SpringCloud系列:3. SpringCloud和Dubbo组织框架实现微服务详解

  • Post author:
  • Post category:其他


  1. 前言
  2. 什么是SpringCloud?(Dubbo与SpringCloud组织架构)

    1.1 SpringCloud初识

    1.2 SpringBoot和SpringCloud的关系是什么

    1.3 传统的服务架构流程

    1.4 Dubbo和SpringCloud两架构区别说明
  3. SpringCloud经常问的面试题



前言

本文主要对Springcloud架构与Dubbo架构的一个大致说明以此来说明它们各自实现微服务的优劣势。



1. 什么是SpringCloud?(Dubbo与SpringCloud组织架构)



1.1 SpringCloud初识

  1. 先讲解一个一个用户访问某一个功能的大致流程:

    客户访问Api网关–>微服务(业务逻辑实现)–>消息队列/注册中心–>数据库。
  1. SpringCloud,基于SpringBoot提供了-套微服务解决方案,包括服务注册与发现,配置中心,全链路监控,服务网关,负载均衡,熔断器等组件,除了基于NetFix的开源组件做高度抽象封装之外,还有一些

    选型中立的开源组件。
  1. SpringCloud利用SpringBoot的开发便利性,巧妙地简化了分布式系统基础设施的开发,SpringCloud为开发人员提供了快速构建分布式系统的一些工具,包括配置管理,服务发现,断路器,路由,微代理,事件总线,全局锁,决策竞选,分布式会话等等,他们都可以用SpringBoot的开发风格做到一键启动和部署。

    ⑴ SpringBoot并没有重复造轮子,它只是将目前各家公司开发的比较成熟,经得起实际考研的服务框架组合起来,通过SpringBoot风格进行再封装,屏蔽掉了复杂的配置和实现原理,最终给开发者留出了-套简单易懂,易部署和易维护的分布式系统开发工具包

    ⑵ SpringCloud是分布式微服务架构下的一站式解决方案,是各个微服务架构落地技术的集合体,俗称微服务全家桶。



1.2 SpringBoot和SpringCloud的关系是什么

  1. SpringBoot与SpringCloud的关系有如下几点↓:

    ⑴ SpringBoot专注于快速方便的开发单个个体微服务,Jar。

    ⑵ SpringCloud是关注全局的微服务协调整理治理框架,它将SpringBoot开发的一 个个单体微服务整合并管理起来,为各个微服务之间提供:配置管理,服务发现,断路器,路由,微代理,事件总线,全局锁,决策竞选,分布式会话等等集成服务。

    ⑶ SpringBoot可以离开Spriglooud独立使用,开发项目,但是SpringCloud离不开SpringBoot, 属于依赖关系。

    ⑷ SpringBoot专注于快速、方便的开发单个个体微服务,SpringCloud关注全局的服务治理框架。



1.3 传统的服务架构流程

  1. 传统的具体微服务架构流程,如图所示-“图-spc-1”

在这里插入图片描述

图-spc-1



1.4 Dubbo和SpringCloud两架构区别说明

  1. 以下来讲解一下:Dubbo架构和SpringCloud架构区别

    ⑴ Dubbo架构和SpringCloud架构 ==>都可以用来实现微服务架构的部署。

    ⑵ 但是两个组织架构的的区别各有优劣势。

    —–>如图所示-“图ds1”。

    ⑶ 对于微服务架构的实现,Dubbo这套组织架构其中个别配置确实需要去第三方调用,然而SpringCloud这套组织架构基本配置完善,不用去第三方调用其他模块来实现微服务架构的构建。

    ⑷ SpringCloud就像一个集合全部东西的整体,而Dubbo就像一个组装机很多东西是东拼西凑的容易出现错误,因此如果你是一个新手使用SpringCloud就可以轻易构建起一个服务,而使用Dubbo就不好构建了。—-> 如图所示-“图ds2”

    ⑸ 关键在于Dubbo主要专门作用的领域不同:Dubbo的定位是一款RPC通信的框架,而SpringCloud的目标是微服务架构的下一代一站式解决方案。

在这里插入图片描述

图ds1

在这里插入图片描述

图ds2



2. SpringCloud经常问的面试题

1、常见面试题

1.1、什么是微服务?

1.2、微服务之间是如何独立通讯的?

1.3、SpringCloud 和Dubbo有哪些区别?

1.4、SpringBoot和SpringCloud, 请你谈谈对他们的理解I

1.5、什么是服务熔断?什么是服务降级

1.6、微服务的优缺点是分别是什么?说下你在项目开发中遇到的坑

1.7、你所知道的微服务技术栈有哪些?请列举一二

1.8、eureka和zookeeper都可以提供服务注册与发现的功能,请说说两个的区别?



版权声明:本文为llzz_zzll原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。