L3上云01 | 分布式、微服务概念

这篇具有很好参考价值的文章主要介绍了L3上云01 | 分布式、微服务概念。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

什么是分布式,分布式和集群的区别又是什么?

1. 什么是分布式 ?

分布式系统一定是由多个节点组成的系统。

其中,节点指的是计算机服务器,而且这些节点一般不是孤立的,而是互通的。

这些连通的节点上部署了我们的节点,并且相互的操作会有协同。

分布式系统对于用户而言,他们面对的就是一个服务器,提供用户需要的服务而已,

而实际上这些服务是通过背后的众多服务器组成的一个分布式系统,因此分布式系统看起来像是一个超级计算机一样。

所谓分布式系统,是指一个完整的应用系统被拆分后,分别部署到不同的网络节点中,这样的系统往往是一些大型的系统。这种做法的好处是,可以提高系统的运算能力。与分布式系统相对应的就是 单体应用系统,单体应用系统的思想是all in one 思想, 就是全部在一起,一个系统的全部服务都集中在一个网络节点上。
L3上云01 | 分布式、微服务概念,分布式,微服务,架构

2. 分布式与集群的区别 ?

集群

集群是指在几个服务器上部署相同的应用程序来分担客户端的请求。

它是同一个系统部署在不同的服务器上,比如一个登陆系统部署在不同的服务器上。

好比 多个人一起做同样的事。

集群主要的使用场景是为了分担请求的压力。

但是,当压力进一步增大的时候,可能在需要存储的部分,比如mysql无法面对大量的“写压力”。

因为在mysql做成集群之后,主要的写压力还是在master的机器上,其他slave机器无法分担写压力,这时,就引出了“分布式”。

分布式

分布式是指多个系统协同合作完成一个特定任务的系统。

它是不同的系统部署在不同的服务器上,服务器之间相互调用。

好比 多个人一起做不同的事。

分布式是解决中心化管理的问题,把所有的任务叠加到一个节点处理,太慢了。

所以把一个大问题拆分为多个小问题,并分别解决,最终协同合作。

分布式的主要工作是分解任务,把职能拆解。

分布式的主要应用场景是单台机器已经无法满足这种性能的要求,必须要融合多个节点,并且节点之间的相关部分是有交互的。

相当于在写mysql的时候,每个节点存储部分数据(分库分表),这就是分布式存储的由来。

存储一些非结构化数据:静态文件、图片、pdf、小视频 … 这些也是分布式文件系统的由来。

用生活中的例子,来说明集群和分布式及其区别:

小饭店原来只有一个厨师,切菜洗菜备料炒菜全干。

后来客人多了,厨房一个厨师忙不过来,又请了个厨师,两个厨师炒一样的菜,这两个厨师的关系是集群。

为了让厨师专心炒菜,把菜做到极致,又请了个配菜师负责切菜,备菜,备料,厨师和配菜师的关系是分布式,

一个配菜师也忙不过来了,又请了个配菜师,两个配菜师关系是集群。

最后,再深入理解一下集群和分布式及其区别:

分布式:把一个大业务拆分成多个子业务,每个子业务都是一套独立的系统,子业务之间相互协作最终完成整体的大业务。

集群

把处理同一个业务的系统部署多个节点 。

把一套系统拆分成不同的子系统部署在不同服务器上,这叫分布式。

把多个相同的系统部署在不同的服务器上,这叫集群。部署在不同服务器上的相同系统必然要做“负载均衡”。

集群主要是简单加机器解决问题,对于问题本身不做任何分解。

分布式处理里必然涉及任务分解与答案归并。分布式中的某个子任务节点,可以是一个集群,该集群中的任一节点都作为一个完整的任务出现。

集群和分布式都是由多个节点组成,但集群中各节点间基本不需要通信协调,而分布式中各个节点的通信协调是必不可少的。

L3上云01 | 分布式、微服务概念,分布式,微服务,架构

3. 分布式环境下面临的问题

  • 网络通信:网络本身的不可靠性,因此会涉及到一些网络通信问题
  • 网络分区(脑裂):当网络发生异常导致分布式系统中部分节点之间的网络延时不断增大,最终导致组成分布式架构的所有节点,只有部分节点能够正常通信
  • 三态:在分布式架构里面多了个状态:超时,所以有三态: 成功、失败、超时

  • 分布式事务:ACID(原子性、一致性、隔离性、持久性)

    中心化和去中心化:冷备或者热备

分布式架构里面,很多的架构思想采用的是:当集群发生故障的时候,集群中的人群会自动“选举”出一个新的领导。

最典型的是: zookeeper / etcd

经典的CAP/BASE理论
L3上云01 | 分布式、微服务概念,分布式,微服务,架构

4. 常见的分布式系统

L3上云01 | 分布式、微服务概念,分布式,微服务,架构

5. 什么是微服务架构?

S0A 架构

SOA 架构就是面向于服务的架构思想,本质上就是以服务为中心,把应用拆分为多个服务,抽离出可重用的服务,为每个服务的单独扩展和开发提高便利性。阿里的Dubbo 就是SOA服务架构的一种实现,事实上SOA并没有对服务间通信协议具体规定,可以RPC,可以HTTP。
L3上云01 | 分布式、微服务概念,分布式,微服务,架构

微服务

微服务是一种SOA思想的延续,任然关注服务,但是强调是"微",微体现的是服务开发成分要低,职责要尽量单一,同时部署也要灵活方便。目前微服务是非常流行的一种软件架构,在Java生态中 SpringCloud就提供了微服务的全站解决方案。
L3上云01 | 分布式、微服务概念,分布式,微服务,架构文章来源地址https://www.toymoban.com/news/detail-800351.html

到了这里,关于L3上云01 | 分布式、微服务概念的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 单体架构 微服务架构 分布式 微服务通信方式 网关与nginx

    单体架构 优点:架构简单,维护成本低 缺点:各个模块耦合度太高,当对一个模块进行更新修改时,会影响到其他模块,要一起进行修改。当存在性能瓶颈的时候,需要对整个服务进行扩容,不能有针对性的扩容,如一个程序的主要功能时其中某个服务,要对其增加机器,

    2024年02月10日
    浏览(60)
  • 9.4. 分布式与微服务架构

    在本章节中,我们将介绍分布式系统和微服务架构的基本概念。分布式系统解决了单体应用面临的可扩展性、高可用性等问题,而微服务架构进一步提升了系统的可维护性和灵活性。 9.4.1. 分布式系统基本概念 分布式系统是由多个独立的计算节点组成的系统,这些节点通过网

    2024年02月08日
    浏览(53)
  • 一文轻松读懂微服务、集群、分布式的概念和区别

    微服务:  它是Martin Fowler在2014年首次提出的一个概念,微服务是一种架构风格,可以说是一种处理问题的思想,通过这种思想可以将原来一个复杂的系统拆分成多个子系统,多个子系统之间是相互独立的,有自己独立的进程,可以单独部署,每个子系统(微服务)都只关注实现自己的业务

    2024年04月28日
    浏览(28)
  • 微服务【分布式架构&认识微服务&SpringCloud】第1章

    目录 1,认识微服务 1.1,单体架构 1.2,分布式架构 1.3,微服务 1.4,SpringCloud 1.5,总结 💂 个人主页:  爱吃豆的土豆 🤟 版权:  本文由【爱吃豆的土豆】原创、在CSDN首发、需要转载请联系博主 💬 如果文章对你有帮助、 欢迎关注、点赞、收藏(一键三连)和订阅专栏哦 🏆 人

    2023年04月08日
    浏览(56)
  • 微服务架构学习与思考(13):分布式配置中心

    微服务架构系列文章集合:https://www.cnblogs.com/jiujuan/p/17307285.html 用编程语言编写应用项目时,一般都会有项目的配置文件。比如用 java 编写项目,有一个 properties 的配置文件,会把一些配置信息写入到该文本文件中,例如数据库相关的配置信息。 这也体现了软件设计的一个原

    2024年02月06日
    浏览(50)
  • 聊聊分布式架构08——SpringBoot开启微服务时代

    目录 微服务架构时代 快速入门 入门详解 SpringBoot的自动配置 石器时代:XML配置bean 青铜时代:SpringConfig 铁器时代:AutoConfigurationImportSelector 手写简单Starter SpringApplication启动原理 微服务架构时代 Spring Boot的出现与微服务架构有关,它是Spring Framework的一部分,旨在简化开发独

    2024年02月06日
    浏览(49)
  • 分布式、服务化的ERP系统架构设计

    ERP 之痛        曾几何时,我混迹于电商、珠宝行业4年多,为这两个行业开发过两套大型业务系统(ERP)。作为一个ERP系统,系统主要功能模块无非是订单管理、商品管理、生产采购、仓库管理、物流管理、财务管理等等。作为一个管理系统,大家的一般开发习惯就是使用

    2024年02月11日
    浏览(56)
  • 分布式软件架构——服务端缓存的三种属性

    在透明多级分流系统中,我们以流量从客户端中发出开始,以流量到达服务器集群中真正处理业务的节点结束。一起探索了在这个过程中与业务无关的一些通用组件,包括DNS、CDN、客户端缓存,等等。 实际上,服务端缓存也是一种通用的技术组件,它主要用于减少多个客户端

    2024年02月07日
    浏览(57)
  • 应用架构——集群、分布式、微服务的概念及异同

    一、什么是集群?         集群是指将多台服务器集中在一起, 每台服务器都实现相同的业务,做相同的事;但是每台服务器并不是缺 一不可,存在的主要作用是缓解并发能力和单点故障转移问题。 集群主要具有以下特征: (1)、 伸缩性         在一些大系统中,

    2024年02月03日
    浏览(50)
  • 微服务架构-服务网关(Gateway)-权限认证(分布式session替代方案)

    前面我们了解了Gateway组件的过滤器,这一节我们就探讨一下Gateway在分布式环境中的一个具体用例-用户鉴权。 从我们开始学JavaEE的时候,就被洗脑式灌输了一种权限验证的标准做法,那就是将用户的登录状态保存到HttpSession中,比如在登录成功后保存一对key-value值到session,

    2024年02月16日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包