菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
454
0

面试官:为什么选SpringCloud而不是Dubbo?

原创
05/13 14:22
阅读数 13883

写好的代码越来越满足不了需求,因为需求总是在不断的变化。在技术选型时,实在是心有余而力不足。思来想去,就考虑了使用微服务架构来实现,功能模块化。今天主要讲讲为什么需要微服务架构。还是以故事的形式呈现。

一、认识微服务

阶段一:单体服务

话说小张闲着没事,就想着挣点钱,于是开了一家餐馆。店铺刚刚开张,顾客还不多。这时候就小张一个人,所以收银、做饭、洗碗、打扫卫生的任务全在小张一个人身上。

 

 

 

 

阶段二:微服务

小张做的饭真的是越来越好吃了,客人也越来越多,这可把小张累坏了,于是考虑着顾上几个人,跟他一块干,每个人负责一个模块。这就是微服务。分布式是什么呢?分布式和微服务的区别在于:

分布式是从部署的层面考虑的,微服务是从设计的角度来分析,

 

 

 

 

阶段三:分布式+微服务+集群

随着手艺的不断进步,人数那是超级多了,小李、小王和小红都忙不过来了,于是呢一个活分给几个人干,这样不就轻松了嘛。

 

 

 

 

是不是好了很多了,随着小张事业的不断上升,于是把功能不断地细分,一个部分的人数也不断的飙升来满足客户的需求。这就是微服务的整体进化。

总结:

单体结构:一个人把事全做了

分布式+微服务:几个人合伙做事

集群:每个人负责不同的事

当然分布式和微服务的先后顺序可能和你理解的不一样,不过大体的流程是这样的。我们举了这个例子是想让你从宏观上认识一下微服务的功能。现在注意了,我们把目光转移,转移到微服务上来。

二、为什么选用Springcloud

我们先理清楚pringcloud和springMVC,springBoot,spring的关系:

spring的主要作用就是IOC和AOP的实现,springmvc是一个底层基于servlet的mvc框架。前两个开发起来配置啥了一大堆,因此有了springboot,大大地简化了我们的开发工作,但是系统的不断复杂化,又想结合springboot的优点,因此出现了springcoud。既然springcloud能解决复杂系统出现的一些问题。那我们看看是如何解决的。

 

 

 

 

这张图从上往下看,你会发现,一个复杂系统出现的各个方面都有着相应的模块组件来实现。具体的使用细节在今后会退出我自己的微服务体系。结合我自己正在做的项目来实现。

微服务的框架那么多比如:dubbo、Kubernetes,为什么就要使用Spring Cloud的呢?

(1)spring家族的,他的威力就不强调了。学java的一定都会学习spring家族的框架。

(2)基于Spring Boot 可以减少我们的开发工作量。

(3)功能太齐全了。

(4)资料多,遇到问题很容易找到解决方案

而dubbo虽然用户量很大,但是由于停止维护了一段时间,给了springcloud的可乘之机。内部还有很多问题需要处理,从时间经济等等各个条件筛选,觉得还是springcloud比较好。

发表评论

0/200
454 点赞
0 评论
收藏