- 前言
- 什么是SpringCloud?(Dubbo与SpringCloud组织架构)
1.1 SpringCloud初识
1.2 SpringBoot和SpringCloud的关系是什么
1.3 传统的服务架构流程
1.4 Dubbo和SpringCloud两架构区别说明 - SpringCloud经常问的面试题
前言
本文主要对Springcloud架构与Dubbo架构的一个大致说明以此来说明它们各自实现微服务的优劣势。
1. 什么是SpringCloud?(Dubbo与SpringCloud组织架构)
1.1 SpringCloud初识
- 先讲解一个一个用户访问某一个功能的大致流程:
客户访问Api网关–>微服务(业务逻辑实现)–>消息队列/注册中心–>数据库。
- SpringCloud,基于SpringBoot提供了-套微服务解决方案,包括服务注册与发现,配置中心,全链路监控,服务网关,负载均衡,熔断器等组件,除了基于NetFix的开源组件做高度抽象封装之外,还有一些
选型中立的开源组件。
- SpringCloud利用SpringBoot的开发便利性,巧妙地简化了分布式系统基础设施的开发,SpringCloud为开发人员提供了快速构建分布式系统的一些工具,包括配置管理,服务发现,断路器,路由,微代理,事件总线,全局锁,决策竞选,分布式会话等等,他们都可以用SpringBoot的开发风格做到一键启动和部署。
⑴ SpringBoot并没有重复造轮子,它只是将目前各家公司开发的比较成熟,经得起实际考研的服务框架组合起来,通过SpringBoot风格进行再封装,屏蔽掉了复杂的配置和实现原理,最终给开发者留出了-套简单易懂,易部署和易维护的分布式系统开发工具包
⑵ SpringCloud是分布式微服务架构下的一站式解决方案,是各个微服务架构落地技术的集合体,俗称微服务全家桶。
1.2 SpringBoot和SpringCloud的关系是什么
- SpringBoot与SpringCloud的关系有如下几点↓:
⑴ SpringBoot专注于快速方便的开发单个个体微服务,Jar。
⑵ SpringCloud是关注全局的微服务协调整理治理框架,它将SpringBoot开发的一 个个单体微服务整合并管理起来,为各个微服务之间提供:配置管理,服务发现,断路器,路由,微代理,事件总线,全局锁,决策竞选,分布式会话等等集成服务。
⑶ SpringBoot可以离开Spriglooud独立使用,开发项目,但是SpringCloud离不开SpringBoot, 属于依赖关系。
⑷ SpringBoot专注于快速、方便的开发单个个体微服务,SpringCloud关注全局的服务治理框架。
1.3 传统的服务架构流程
- 传统的具体微服务架构流程,如图所示-“图-spc-1”
图-spc-1
1.4 Dubbo和SpringCloud两架构区别说明
- 以下来讲解一下: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都可以提供服务注册与发现的功能,请说说两个的区别?