首页 新闻

分布式和微服务哪个好?两者有什么区别?

分布式和微服务哪个好?两者有什么区别?其实分布式和微服务各有其优缺点,谈不上谁比谁好。而且两者的概念也不同,微服务是架构设计方式,分布式是系统部署方式。下面就来好好认识一下分布式和微服务吧!

1、什么是微服务?

简单来说微服务就是很小的服务,小到一个服务只对应一个单一的功能,只做一件事。这个服务可以单独部署运行,服务之间可以通过RPC来相互交互,每个微服务都是由独立的小团队开发,测试,部署,上线,负责它的整个生命周期。

2、什么是分布式?

分布式服务顾名思义服务是分散部署在不同的机器上的,一个服务可能负责几个功能,是一种面向SOA架构的,服务之间也是通过rpc来交互或者是webservice来交互的。逻辑架构设计完后就该做物理架构设计,系统应用部署在超过一台服务器或虚拟机上,且各分开部署的部分彼此通过各种通讯协议交互信息,就可算作分布式部署,生产环境下的微服务肯定是分布式部署的,分布式部署的应用不一定是微服务架构的,比如集群部署,它是把相同应用复制到不同服务器上,但是逻辑功能上还是单体应用。

3、两者有什么区别?

分布式属于微服务,微服务的意思也就是将模块拆分成一个独立的服务单元通过接口来实现数据的交互。

1)架构不同。

微服务的设计是为了不因为某个模块的升级和BUG影响现有的系统业务。微服务与分布式的细微差别是,微服务的应用不一定是分散在多个服务器上,他也可以是同一个服务器。

2)作用不同。

分布式:不同模块部署在不同服务器上,分布式主要解决的是网站高并发带来问题。 微服务:各服务可独立应用,组合服务也可系统应用(巨石应用[monolith]的简化实现策略-平台思想)。

3)粒度不同。

微服务相比分布式服务来说,它的粒度更小,服务之间耦合度更低,由于每个微服务都由独立的小团队负责,因此它敏捷性更高,分布式服务最后都会向微服务架构演化,这是一种趋势, 不过服务微服务化后带来的挑战也是显而易见的,例如服务粒度小,数量大,后期运维将会很难。

以上就是分布式和微服务全部的科普了。大家看完全文,想必对分布式和微服务已经有了一个大概的认识,它们两者既有联系又相互区别,且各有各的优缺点,因此与其判断“哪个好”,不如说在不同的情况下哪个更合适。