从零开始学习微服务-为什么学习springcloud(一)

在2019年3月份开始学习了尚学堂的springcloud的微服务基本课程之后,就打算写这个系列的博客。来巩固自己的知识。也是自己对springcloud的重新的认识。
一:什么是微服务 ,什么是SOA,什么是分布式,这三者有什么关系,这是我一直依赖想弄清楚的
在我眼里 微服务就是将一个系统分成多个系统,将每一个系统都当作一个服务来看待,对外提供服务,各个服务之间相互调用
SOA面向服务编程,也是将一个个的系统分成一个个的服务
分布式就是许多系统的集合组成一个总的系统

后来发现这几个的概念其实是差不多的
分布式:
不同模块部署在不同服务器上作用:
分布式解决网站高并发带来问题
SOA[组装服务/ESB企业服务总线]业务系统分解为多个组件,让每个组件都独立提供离散,自治,可复用的服务能力通过服务的组合和编排来实现上层的业务流程作用:简化维护,降低整体风险,伸缩灵活
微服务[找到服务/微服务网关open API]架构设计概念,各服务间隔离(分布式也是隔离),自治(分布式依赖整体组合)其它特性(单一职责,边界,异步通信,独立部署)是分布式概念的跟严格执行SOA到微服务架构的演进过程作用:各服务可独立应用,组合服务也可系统应用(巨石应用[monolith]的简化实现策略-平台思想)
https://blog.csdn.net/heatdeath/article/details/79038795

总的来说就是 微服务与分布式的不同点就是不是方式不一致 微服务可以将不同的模块不是在一台机器上面,而分布式是将不同模块部署在不同的机器上面,微服务又是一个SOA的实现

弄懂这些我们就容易理解为什么需要学习微服务
这里那些乱起八糟的单体架构,垂直架构(MVC)其原理是我们就不说了,到后期扛不住并发了,没钱买硬件,只能在架构上升级到现在的分布式架构。在现在一共有两大系列的微服务架构,一个是阿里的dubbo,另一个就是今天的主角netflix的cloud.
其主要的不同点就是底层之间服务的通信 dubbo的通信就是rpc,我现在也没弄懂,但是学会了netty,就是不知道怎么用,
而cloud的通信是当下流行的http的rest服务请求,这一点作为B/S架构的工作者还是很熟悉的。
还有一点 cloud不是单一的技术 而是提供了一系列的组件 包括 服务注册中心,负载均衡 网关, 远程调用,断路器还有配置中心 这比dubbo是更加完善的。所以我们今天来学习springcloud。更加为了以后出去面试吹牛逼吹的更厉害

你可能感兴趣的:(springcloud)