微服务架构,你必须要知道的一些事儿!

Posted 码农每日一题

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微服务架构,你必须要知道的一些事儿!相关的知识,希望对你有一定的参考价值。

干货分享之前,先给大家分享一波福利,BATJ 面试必问加小姐姐微信,暗号“666免费获取微服务架构资料

什么是微服务?

 微服务就是把原本臃肿的一个项目的所有模块拆分开来并做到互相没有关联,甚至可以不使用同一个数据库。   比如:项目里面有User模块和Power模块,但是User模块和Power模块并没有直接关系,仅仅只是一些数据需要交互,那么就可以吧这2个模块单独分开来,当user需要调用power的时候,power是一个服务方,但是power需要调用user的时候,user又是服务方了, 所以,他们并不在乎谁是服务方谁是调用方,他们都是2个独立的服务,这时候,微服务的概念就出来了。

微服务和分布式的区别?

谈到区别,我们先简单说一下分布式是什么,所谓分布式,就是将偌大的系统划分为多个模块(这一点和微服务很像)部署到不同机器上(因为一台机器可能承受不了这么大的压力或者说一台非常好的服务器的成本可能够好几台普通的了),各个模块通过接口进行数据交互,其实 分布式也是一种微服务。 因为都是吧模块拆分开来变为独立的单元,提供接口来调用,那么 他们本质的区别在哪呢? 他们的区别主要体现在“目标”上, 何为目标,就是你这样架构项目要做到的事情。 分布式的目标是什么? 我们刚刚也看见了, 就是一台机器承受不了的,或者是成本问题 , 不得不使用多台机器来完成服务的部署, 而微服务的目标 只是让各个模块拆分开来,不会被互相影响,比如模块的升级亦或是出现BUG等等... 讲了这么多,可以用一句话来理解:分布式也是微服务的一种,而微服务他可以是在一台机器上。

微服务与Spring-Cloud的关系(区别)?

微服务只是一种项目的架构方式,或者说是一种概念,就如同我们的MVC架构一样,那么Spring-Cloud便是对这种技术的实现。

微服务一定要使用Spring-Cloud吗?

   我们刚刚说过,微服务只是一种项目的架构方式,如果你足够了解微服务是什么概念你就会知道,其实微服务就算不借助任何技术也能实现,只是有很多问题需要我们解决罢了例如:负载均衡,服务的注册与发现,服务调用,路由。。。。等等等等一系列问题,所以,Spring-Cloud 就出来了,Spring-Cloud将处理这些问题的的技术全部打包好了,就类似那种开袋即食的感觉。。 

以上是关于微服务架构,你必须要知道的一些事儿!的主要内容,如果未能解决你的问题,请参考以下文章

从小白程序员到大厂高级技术专家,这些系统架构方案是你必须要掌握的!!

个推首席架构师Qcon分享 |微服务架构的那些事儿

微服务架构下分布式事务的那些事儿

深剖微服务架构和原理

分布式事务 ( DTS ) 你必须知道的事儿

微服务干货系列使用微服务架构之前,你必须知道的