服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - 编程技术 - 微服务和分布式的联系与区别什么?

微服务和分布式的联系与区别什么?

2021-03-26 23:59博学谷白玲 编程技术

最近了解了分布式与微服务的相关知识,然后对这两者总结了一番,希望能够给正在学习的大家解决一些疑惑。

微服务分布式的联系与区别什么?分布式只是一种手段把不同的机器分散在不同的地方,然后这些机器间相互协助完成业务,而微服务是一种特殊的分布式。分布式将一个大的系统划分为多个业务模块,业务模块分别部署到不同的机器上,各个业务模块之间通过接口进行数据交互,微服务与分布式的细微差别是微服务的应用不一定是分散在多个服务器上也可以是同一个服务器。

微服务和分布式的联系与区别什么?

一、什么是微服务?

微服务架构是团队面对互联网产品爆发式增长的最优选择,解决快速迭代、高可靠和高可用等问题,把复杂度很高的产品拆分成一些较小的模块,并遵循康威定律,每一个模块用5-9个小团队来维护,减少沟通成本提高协作效率更好地实现快速迭代和弹性扩展。

采用微服务架构改造引入各种复杂性,如部署工作量的增加、复杂链路的监控难题,为微服务而微服务只会得不偿失。在实施的过程中不能简单的使用某些个微服务框架或者组件一蹴而就,而是需要将业务、技术和运维有机结合起来配合同步实施,并在此过程中还需要趟过很多的坑才能够取得成功。

复杂业务拆分可能无法一步到位,因为复杂每个业务并不一定只能拆成一个组件,庞大的业务拆分出相对独立和庞大的业务,但如果业务较小而又比较多,且类型相似也可以不用着急拆分。

二、什么是分布式?

对于分布式架构根据设计期的架构思想和运行期的不同结构分为:面向服务架构、分布式服务架构、微服务架构。

1、面向服务架构︰以业务服务的角度和服务总线的方式(一般是WebService与ESB)考虑系统架构和企业IT治理;

2、分布式服务架构:基于去中心化的分布式服务框架与技术,考虑系统架构和服务治理;

3.微服务架构∶微服务架构可以看做是面向服务架构和分布式服务架构的拓展,使用更细粒度的服务和一组设计准则来考虑大规模的复杂系统架构设计。

统的企业集成领域的EAI架构模式,本身还是各个系统独立部署,但是各系统之间的部分业务使用特定的技术打通,因此可以看做是单体和分布式之间的过渡状态。

三、分布式服务架构与微服务架构概念的联系与区别是什么?

分布式:分散压力。

微服务:分散能力。分布式:不同模块部署在不同服务器上;

作用:分布式解决网站高并发带来问题;

集群:相同的服务;

多台服务器部署相同应用构成一个集群;

作用:通过负载均衡设备共同对外提供服务;

SOA[组装服务/ESB企业服务总线];

业务系统分解为多个组件,让每个组件都独立提供离散,自治,可复用的服务能力;

通过服务的组合和编排来实现上层的业务流程;

作用:简化维护,降低整体风险,伸缩灵活;

微服务[找到服务/微服务网关open API];

架构设计概念,各服务间隔离(分布式也是隔离),自治(分布式依赖整体组合)其它特性(单一职责,边界,异步通信,独立部署)是分布式概念的跟严格执行;

SOA到微服务架构的演进过程;

作用:各服务可独立应用,组合服务也可系统应用。

总结:分布式是个工作方式,微服务是一种架构风格。都是将同一个大系统中不同的子模块进行分开部署。已达到一个低耦合,提高并发量,提高系统可以水平伸缩的能力,同时它们和其他模块之间通讯也都是基于rpc进行通讯调用。微服务是一个单独的服务包含了一个服务从控制层到业务层到持久层该有的东西它都必须要有,前端代码也可以自己提供,并微服务的持久层数据库是私有的并不会对其他服务共享。而分布式可以仅仅只有控制层和业务层,可以不需要自己的数据库和前端,可以和其他模块共享一个数据库。

原文地址:https://www.boxuegu.com/news/4460.html

延伸 · 阅读

精彩推荐
  • 编程技术Delphi - Indy idMessage和idSMTP实现邮件的发送

    Delphi - Indy idMessage和idSMTP实现邮件的发送

    这篇文章主要介绍了Delphi - Indy idMessage和idSMTP实现邮件的发送,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下...

    JJ_JeremyWu6592020-09-22
  • 编程技术从Context源码实现谈React性能优化

    从Context源码实现谈React性能优化

    这篇文章主要介绍Context的实现原理,源码层面掌握React组件的render时机,从而写出高性能的React组件,源码层面了解shouldComponentUpdate、React.memo、PureComponen...

    魔术师卡颂5312020-12-20
  • 编程技术AIOps,SRE工程师手中的利器

    AIOps,SRE工程师手中的利器

    AIOps开始成为一种极为重要的站点可靠性工程工具。它能够高效吸纳观察数据、参与数据以及来自第三方工具的数据,判断系统运行状态并保证其处于最佳...

    至顶网5972021-03-08
  • 编程技术用户态 Tcpdump 如何实现抓到内核网络包的?

    用户态 Tcpdump 如何实现抓到内核网络包的?

    在网络包的发送和接收过程中,绝大部分的工作都是在内核态完成的。那么问题来了,我们常用的运行在用户态的程序 tcpdump 是那如何实现抓到内核态的包...

    开发内功修炼11612021-09-08
  • 编程技术真正聪明的程序员,总有办法不加班

    真正聪明的程序员,总有办法不加班

    工作效率提升了,就可以少加班了,聪明的程序员,总会有一堆可以提升编码效率的工具?当一种工具满足不了工作需求,就去探索新的,今天纬小创就给...

    今日头条12482021-03-04
  • 编程技术2021年值得关注的React PDF 库

    2021年值得关注的React PDF 库

    今天,许多网络应用程序为其用户提供内置的PDF浏览选项。然而,选择一个并不容易,因为它们的功能远远超过显示PDF。在这篇文章中,我将评估5个React的...

    TianTianUp5232021-06-21
  • 编程技术让开发效率倍增的 VS Code 插件

    让开发效率倍增的 VS Code 插件

    今天来分享一些提升开发效率的实用 VS Code 插件!Better Comments 扩展可以帮助我们在代码中创建更人性化的注释,有不同形式和颜色的注释供我们选择。 ...

    前端充电宝7132022-04-21
  • 编程技术简单、好懂的Svelte实现原理

    简单、好懂的Svelte实现原理

    本文会围绕一张流程图和两个Demo讲解,正确的食用方式是用电脑打开本文,跟着流程图、Demo一边看、一边敲、一边学...

    魔术师卡颂4822021-11-10