微服务和分布式
今天来聊一聊什么是微服务,什么是分布式
> 首先想说下我个人的理解,我认为微服务是一种区别于之前单体应用的设计理念,而分布式是一种应用的部署方式。
什么意思呢?
> 微服务顾名思义就是一个很小的服务,很小的应用,那么微服务架构也就是很多小应用的集合体,它们之中每个人负责的功能都不同,各尽其职,它是为了在大用户量的情况下将各个应用拆分成一个个小系统,每个系统都是相对独立的,这样无论时部署,升级,还是压力的分散上都不至于牵一发而动全身,你可以针对单个服务或应用进行部署和版本的迭代,用户也会因它们不同的需求去访问不同的服务或应用,这样既有利于前期的开发也利于后期的维护。
> 那么分布式只是一种部署方式,它的出现可以说完全是为了压力的分散,例如一个单体应用的集群部署,就是为了将一个单体应用的压力分散到不同的机器上,这样可以有效地提高访问效率,减小单个机器的压力不至于因为高并发而崩溃掉。
> 目前在生产中因为微服务架构的应用部署绝大部分都是分布式部署,但分布式部署的应用未必都是微服务架构,例如前面说到的单体应用的集群部署,这也是为什么很多人会把微服务和分布式搞混淆的原因。
希望我的理解可以帮大家对微服务和分布式有更清晰的认识,如有错误,欢迎指正。