在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
分布式和微服务是什么关系?简单来说,分布式和微服务的概念比较相似,分布式属于微服务。但是分布式和微服务在架构、作用和粒度上有所区别。因此,两者的关系是既相互联系又相互区别。本文主要带大家认识分布式和微服务,并探讨一下两者的关系,感兴趣的小伙伴可以接着看下去。

1、微服务
微服务的意思也就是将模块拆分成一个独立的服务单元通过接口来实现数据的交互。简单来说微服务就是很小的服务,小到一个服务只对应一个单一的功能,只做一件事。这个服务可以单独部署运行,服务之间可以通过RPC来相互交互,每个微服务都是由独立的小团队开发,测试,部署,上线,负责它的整个生命周期。
2、分布式
分布式服务顾名思义服务是分散部署在不同的机器上的,一个服务可能负责几个功能,是一种面向SOA架构的,服务之间也是通过rpc来交互或者是webservice来交互的。逻辑架构设计完后就该做物理架构设计,系统应用部署在超过一台服务器或虚拟机上,且各分开部署的部分彼此通过各种通讯协议交互信息,就可算作分布式部署,生产环境下的微服务肯定是分布式部署的,分布式部署的应用不一定是微服务架构的,比如集群部署,它是把相同应用复制到不同服务器上,但是逻辑功能上还是单体应用。
3、关系
联系:分布式只是一种手段,把不同的机器分散在不同的地方,然后这些机器间相互协助完成业务。微服务是一种特殊的分布式,换句话说,微服务架构是分布式服务架构的子集。微服务架构通过更细粒度的服务切分,使得整个系统的迭代速度并行程度更高,但是运维的复杂度和性能会随着服务的粒度更细而增加。微服务重在解耦合,使每个模块都独立。分布式重在资源共享与加快计算机计算速度。
区别:
(1)架构不同:微服务的设计是为了不因为某个模块的升级和BUG影响现有的系统业务。微服务与分布式的细微差别是,微服务的应用不一定是分散在多个服务器上,他也可以是同一个服务器。
(2)作用不同:分布式:不同模块部署在不同服务器上,分布式主要解决的是网站高并发带来问题。微服务:各服务可独立应用,组合服务也可系统应用。
(3)粒度不同:微服务相比分布式服务来说,它的粒度更小,服务之间耦合度更低,由于每个微服务都由独立的小团队负责,因此它敏捷性更高,分布式服务最后都会向微服务架构演化,这是一种趋势, 不过服务微服务化后带来的挑战也是显而易见的,例如服务粒度小,数量大,后期运维将会很难。
相信看完整篇文章,大家对于分布式和微服务的关系有了一定的了解。想要学习分布式和微服务的更多知识,可以上博学谷报名在线课程《Java架构师之分布式和微服务》,将带大家步步深入了解微服务整体流程和设计原则。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
学习Java好不好?未来发展反向有哪些?
从市场需求来看,Java应用面试非常广泛的,而且是大多数企业级软件开发的首选。就其使用率来看,Java编程语言连续十几年处于所有开发语言的前三位。及时应用市场不断有新的技术涌入,依旧无法撼动Java的地位。所以对于学习Java的小伙伴来说,不要担心学习了Java市场会不好,我们需要更加关注技术层面的优秀。那Java未来的发展方向有哪些呢?
8929
2019-06-14 17:25:35
Java开发者应该如何提升自己?Java学习路线规划
对于Java的开发者来说,想要在工作中不断提升自己,需要一直保持学习的态度。那么在学习的道路上,哪些技术和工具框架需要Java开发者掌握呢?在这里,我将和大家一起探讨,那些Java开发者必须学习和掌握的工具、程序库、框架和API。
5834
2019-11-09 20:09:08
在IDEA中如何使用Git?详细步骤讲解
在IDEA中如何使用Git?首先我们要安装好IntelliJ IDEA,然后在IDEA中配置Git,才能开始使用Git。下面我们来详细讲解一下在IDEA中使用Git,大概需要十个步骤,分别是在IDEA中创建工程并将工程添加至Git,将文件添加到暂存区,提交文件,将代码推送到远程仓库,从远程仓库克隆工程到本地,从远程拉取代码,版本对比,创建分支,切换分支和分支合并。
10409
2020-04-30 10:34:03
Java Web之Filter学习笔记
今天要学习的是关于Filter的内容,主要包括Filter的概念、快速入门、代码演示、过滤器细节,对Filter有学习需要的小伙伴可以在看完本文后,再把文章收藏起来以便于以后的复习,现在一起来看看Java Web之Filter的学习笔记吧~
5381
2020-05-07 11:07:11
Java架构师应具备的职业技能有哪些?
Java架构师应具备的职业技能有哪些? 在互联网开发领域架构师可以分为业务架构师、中间件架构师、系统架构师。如何区分三者的区别方法很简单,可以去招聘网站看看,了解架构师相关的招聘需求是什么样的。
4405
2022-04-27 11:26:56
