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

1、微服务
微服务的意思也就是将模块拆分成一个独立的服务单元通过接口来实现数据的交互。简单来说微服务就是很小的服务,小到一个服务只对应一个单一的功能,只做一件事。这个服务可以单独部署运行,服务之间可以通过RPC来相互交互,每个微服务都是由独立的小团队开发,测试,部署,上线,负责它的整个生命周期。
2、分布式
分布式服务顾名思义服务是分散部署在不同的机器上的,一个服务可能负责几个功能,是一种面向SOA架构的,服务之间也是通过rpc来交互或者是webservice来交互的。逻辑架构设计完后就该做物理架构设计,系统应用部署在超过一台服务器或虚拟机上,且各分开部署的部分彼此通过各种通讯协议交互信息,就可算作分布式部署,生产环境下的微服务肯定是分布式部署的,分布式部署的应用不一定是微服务架构的,比如集群部署,它是把相同应用复制到不同服务器上,但是逻辑功能上还是单体应用。
3、关系
联系:分布式只是一种手段,把不同的机器分散在不同的地方,然后这些机器间相互协助完成业务。微服务是一种特殊的分布式,换句话说,微服务架构是分布式服务架构的子集。微服务架构通过更细粒度的服务切分,使得整个系统的迭代速度并行程度更高,但是运维的复杂度和性能会随着服务的粒度更细而增加。微服务重在解耦合,使每个模块都独立。分布式重在资源共享与加快计算机计算速度。
区别:
(1)架构不同:微服务的设计是为了不因为某个模块的升级和BUG影响现有的系统业务。微服务与分布式的细微差别是,微服务的应用不一定是分散在多个服务器上,他也可以是同一个服务器。
(2)作用不同:分布式:不同模块部署在不同服务器上,分布式主要解决的是网站高并发带来问题。微服务:各服务可独立应用,组合服务也可系统应用。
(3)粒度不同:微服务相比分布式服务来说,它的粒度更小,服务之间耦合度更低,由于每个微服务都由独立的小团队负责,因此它敏捷性更高,分布式服务最后都会向微服务架构演化,这是一种趋势, 不过服务微服务化后带来的挑战也是显而易见的,例如服务粒度小,数量大,后期运维将会很难。
相信看完整篇文章,大家对于分布式和微服务的关系有了一定的了解。想要学习分布式和微服务的更多知识,可以上博学谷报名在线课程《Java架构师之分布式和微服务》,将带大家步步深入了解微服务整体流程和设计原则。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
Java课程设计题目有哪些?Java课程设计题目汇总
在学习Java的路上,多多练习项目实践是很有必要的。因此,本文整理了20道Java课程设计题目,希望大家总结、回顾和实践学过的所有面向对象的编程思想以及编程方法。
23423
2019-07-29 11:34:42
自学Java开发能找到工作吗?
自学Java开发能找到工作吗?具体问题具体分析,因此这需要结合个人的学习能力和学习进度分析。一般来讲,自学Java有这样的问题:没有牢固掌握系统全面的理论知识;学习内容没有与时俱进,不符合企业的对技能的需求;空有理论知识,缺乏实践经验。以上这些问题就是大家在自学完Java后,找不到工作的主要原因。下面小编来讲讲如何解决这些自学的问题。
7497
2019-10-09 17:37:43
Java工程师面试知识点梳理汇总
如今,大多数高端企业级应用都在使用Java,除了大型企业级应用,还有许多游戏开发、大数据的架构都是通过Java来完成的。因此,Java的就业面可以说是十分广泛了。本文专门为大家梳理汇总了Java工程师面试的必备知识点,内容包括数据库、技术框架、项目管理、项目部署以及开发模式,下面一起看看吧!
7831
2020-04-09 21:35:52
线程池经典面试题整理附答案
线程池是一种多线程处理形式,它是Java开发面试中的必考知识点,尤其是在一些大厂的求职面试中,线程池是对求职者考核的重点。为了帮助大家可以更好地通过面试,本文特地为大家整理了线程池经典面试题并附上了答案,下面一起来尝试着做一做吧!
11497
2020-06-17 14:44:17
现在学Java编程开发好就业吗?
现在Java就业市场如何?如果从现在开始学习Java编程开发好就业吗?是不是真的如网上各种文章说的一样,Java开发工程师就业市场人才缺口非常大呢?其实在小编看来,现在的Java就业市场可以总结为两句话:就业机会多,但就业门槛正在不断提升!现在开始学习Java编程开发是否好就业,已经不仅仅是市场需求所决定的,更重要的是通过学习对知识的掌握的程度是否能够与企业招聘需求想匹配。
7506
2020-07-24 16:14:52
热门文章
- 前端是什么
- 前端开发的工作职责
- 前端开发需要会什么?先掌握这三大核心关键技术
- 前端开发的工作方向有哪些?
- 简历加分-4步写出HR想要的简历
- 程序员如何突击面试?两大招带你拿下面试官
- 程序员面试技巧
- 架构师的厉害之处竟然是这……
- 架构师书籍推荐
- 懂了这些,才能成为架构师 查看更多
扫描二维码,了解更多信息
