在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
分布式和微服务是什么关系?简单来说,分布式和微服务的概念比较相似,分布式属于微服务。但是分布式和微服务在架构、作用和粒度上有所区别。因此,两者的关系是既相互联系又相互区别。本文主要带大家认识分布式和微服务,并探讨一下两者的关系,感兴趣的小伙伴可以接着看下去。
1、微服务
微服务的意思也就是将模块拆分成一个独立的服务单元通过接口来实现数据的交互。简单来说微服务就是很小的服务,小到一个服务只对应一个单一的功能,只做一件事。这个服务可以单独部署运行,服务之间可以通过RPC来相互交互,每个微服务都是由独立的小团队开发,测试,部署,上线,负责它的整个生命周期。
2、分布式
分布式服务顾名思义服务是分散部署在不同的机器上的,一个服务可能负责几个功能,是一种面向SOA架构的,服务之间也是通过rpc来交互或者是webservice来交互的。逻辑架构设计完后就该做物理架构设计,系统应用部署在超过一台服务器或虚拟机上,且各分开部署的部分彼此通过各种通讯协议交互信息,就可算作分布式部署,生产环境下的微服务肯定是分布式部署的,分布式部署的应用不一定是微服务架构的,比如集群部署,它是把相同应用复制到不同服务器上,但是逻辑功能上还是单体应用。
3、关系
联系:分布式只是一种手段,把不同的机器分散在不同的地方,然后这些机器间相互协助完成业务。微服务是一种特殊的分布式,换句话说,微服务架构是分布式服务架构的子集。微服务架构通过更细粒度的服务切分,使得整个系统的迭代速度并行程度更高,但是运维的复杂度和性能会随着服务的粒度更细而增加。微服务重在解耦合,使每个模块都独立。分布式重在资源共享与加快计算机计算速度。
区别:
(1)架构不同:微服务的设计是为了不因为某个模块的升级和BUG影响现有的系统业务。微服务与分布式的细微差别是,微服务的应用不一定是分散在多个服务器上,他也可以是同一个服务器。
(2)作用不同:分布式:不同模块部署在不同服务器上,分布式主要解决的是网站高并发带来问题。微服务:各服务可独立应用,组合服务也可系统应用。
(3)粒度不同:微服务相比分布式服务来说,它的粒度更小,服务之间耦合度更低,由于每个微服务都由独立的小团队负责,因此它敏捷性更高,分布式服务最后都会向微服务架构演化,这是一种趋势, 不过服务微服务化后带来的挑战也是显而易见的,例如服务粒度小,数量大,后期运维将会很难。
相信看完整篇文章,大家对于分布式和微服务的关系有了一定的了解。想要学习分布式和微服务的更多知识,可以上博学谷报名在线课程《Java架构师之分布式和微服务》,将带大家步步深入了解微服务整体流程和设计原则。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
Java程序员面试必备 经典Java面试题分享
Java程序员是企业软件开发的核心人员,所以企业在招聘Java程序员的时候都会经过严格的选拔,包括面试与笔试环节,其核心是为了考察Java程序员的技术掌握能力以及工作中解决问题的能力。而且通过面试题,程序员还可以了解目前企业比较核心的技术要求是什么。所以作为Java程序员在研究新技术的同时也要多看一下面试题分享。下面就和大家分享Java程序员面试必备的一些经典Java面试题。
4815
2019-06-18 17:19:17
如何用Java查询个人信息?代码怎么写?
如何用Java查询个人信息?编程写好相应的规则,按照规则执行,在一定程度上大大提高了工作效率,在我们生活中的应用无处不在,当你面临公司大量的人员数据如何准确查询处理你想要的数据呢?
5601
2020-02-11 17:13:36
Java学习笔记之方法
方法是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集。需要注意的是,方法必须先创建才可以使用,该过程成为方法定义,而且方法创建后并不是直接可以运行的,需要手动使用后才执行,该过程成为方法调用。下面我们一起来梳理一下关于方法的Java学习笔记吧~
2629
2020-05-21 16:11:09
Java在线学习的效果怎么样?好不好?
Java作为目前市场最火的编程语言,它以较为高效的运行效率、跨平台能力、丰富的IDE成为软件公司的首选,在受到很多互联网公司的青睐的同时,也是许多人编程初学者的首选编程语言。而非科班的编程学习者想要掌握Java语言,除了参加线下的面授课程,现在还有了更多的一种选择——Java在线学习。那么Java在线学习的效果怎么样?好不好呢?下面我们就以博学谷的课程为例,来为大家详细的分析一下。
3192
2020-05-22 16:32:49
Java程序的开发与运行原理解析
可能刚刚接触编程的初学者会发现,编写一个Java程序其实很简单,但是Java程序的运行过程却是非常复杂的。关于Java程序工作原理这部分知识,虽然不要求编程学习者完全掌握,你但是至少需要了解它的大致过程。下面小编将好好介绍一下Java程序的开发与运行原理,大致分为以下三步:编写源文件、编译以及运行。
3105
2020-08-12 16:59:55