(快手一面)分布式系统是什么?为什么要分布式系统?分布式环境下会有哪些问题?分布式系统是如何实现事务的?

这篇具有很好参考价值的文章主要介绍了(快手一面)分布式系统是什么?为什么要分布式系统?分布式环境下会有哪些问题?分布式系统是如何实现事务的?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、分布式系统是什么?

《分布式系统原理与泛型》中这么定义分布式系统:
“ 分布式系统是若干独立计算机的集合, 这些计算机对于用户来说就像单个相关系统 ”, 分布式系统(distributed system)是建立在网络之上的软件系统。

就比如:用户在使用京东这个分布式系统的时候,会感觉是在使用一个系统,而不是在使用一堆计算机。

  • 分布式系统是由多个互通的节点(即计算机服务器)组成的系统
  • 不同的业务模块部署在不同的服务器上,甚至同一个业务模块也会 拆分 成多个子业务,部署在不同的服务器上,从而来解决 高并发 的问题,提供 可扩展性 以及 高可用性
  • 业务中使用分布式的场景主要有 分布式存储 以及 分布式计算
    • 分布式存储:可以将数据分片到多个节点上,不仅可以提高性能(可扩展性),同时也可以使用多个节点对同一份数据进行备份
    • 分布式计算将一个大任务拆分成多个小任务,分别由不同的节点进行计算,最后 合并 计算结果得到最终结果,大大提高了计算效率和处理能力。

二、为什么要分布式系统?

单机系统中存在 系统容量不足单节点故障(系统高可用) 的问题。为了解决这两个问题,就需要引入分布式系统。

1. 提高系统容量

  • 发现问题:随着业务越来越复杂,服务也会变得越复杂,单台机器的CPU、内存已无法满足部署一个庞大系统的性能要求。
  • 分析问题:当然可以通过提高系统配置来暂时解决问题,但不论怎么提高,单台机器总会达到性能瓶颈,所以需要多台机器才能应对这些复杂业务的功能扩张。
  • 解决问题:通过 水平(加机器)和垂直(拆分为多个子系统)拆分系统,变成一个分布式架构来提高系统整体容量。

2. 解决单节点故障

  • 发现问题:在单台机器上部署服务,如果机器出现故障导致服务挂了,那么整个系统就会崩溃
  • 分析问题:要想提高系统的可用性,意味着需要在单台机器挂掉之后,系统还能够正常运行,也就是需要一群与之相同的服务器
  • 解决问题:通过分布式架构来制造数据冗余,从而提高系统的可用性,即使单台机器挂了,也能够保证服务正常工作。

三、分布式环境下会有哪些问题?

  1. 网络通信:由于网络本身的不可靠性,因此会出现消息丢失 or 消息延迟等网络通信问题
  2. 网络分区(脑裂):当网络发生异常导致分布式系统中部分节点之间的网络延时不断增大,最终导致组成分布式架构的所有节点,只有部分节点能够正常通信。
  3. 三态:在分布式架构中多了个状态:超时,也就是三态分别是:成功失败,超时。超时可能是消息丢失造成的,一直收不到消息,就会超时。
  4. 分布式事务:ACID(原子性、一致性、隔离性、持久性)
  5. 中心化和去中心化:冷备或者热备

可以参考一下这篇:分布式学习笔记—分布式系统面临的问题


四、分布式系统是如何实现事务的?

可以参考一下这篇:分布式事务解决方案及实现文章来源地址https://www.toymoban.com/news/detail-477059.html

五、参考资料

  1. 大白话告你什么是分布式,史上最全详解!
  2. 为什么需要分布式系统
  3. 分布式常见的十大坑,你了解几个?
  4. 分布式系统遇到的问题及解决方案
  5. 大厂Java岗四轮面试,你能进入第几轮?

到了这里,关于(快手一面)分布式系统是什么?为什么要分布式系统?分布式环境下会有哪些问题?分布式系统是如何实现事务的?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 为什么我坚定看好分布式存储

    老林发现,后台私信和社群里有不少朋友都对Filecoin恨铁不成钢,低迷许久,还能起得来吗?对此老林想说,虽然现阶段Filecoin的表现不尽如人意,但对于分布式存储这个赛道我是坚定看好的,为何? 数据爆炸的时代 人民网在去年曾发表过这样一篇文章“ 分布式存储打开千亿

    2024年02月06日
    浏览(32)
  • 分布式缓存:什么是它以及为什么需要它?

      随着网络的快速发展,分布式应用变得越来越普遍。这种类型的应用程序需要访问多个组件和服务,而这些组件可能分散在不同的物理位置上。在这种情况下,由于网络通信的高延迟和低带宽,性能问题变得尤为明显。为解决这一问题,分布式缓存应运而生。   简单的

    2024年02月05日
    浏览(36)
  • 为什么选择elasticsearch分布式搜索引擎

    elasticsearch是一款非常强大的开源搜索引擎,具备非常多强大功能,可以帮助我们从海量数据中快速找到需要的内容 例如: 在CSDN上搜索代码 在电商网站搜索商品 在百度搜索答案 elasticsearch结合kibana、Logstash、Beats,也就是elastic stack(ELK)。被广泛应用在日志数据分析、实时监

    2024年02月12日
    浏览(32)
  • 为什么需要分布式存储技术?IPFS价值在哪?

    IPFS中文翻译是星际文件系统,是硬盘共享的互联网底层协议,主要用于访问数据。简单来说,IPFS可以创建一个存储网络,让更多的人在分享闲置存储空间的同时获得收入。 这种人人都可以参与共享硬盘的存储模式,称为分布式存储。为什么我们需要这种分布式存储技术?要

    2024年02月13日
    浏览(40)
  • Zookeeper 和 Redis 哪种更好? 为什么使用分布式锁? 1. 利用 Redis 提供的 第二种,基于 ZK 实现分布式锁的落地方案 对于 redis 的分布式锁而言,它有以下缺点:

    关于这个问题,我们 可以从 3 个方面来说: 为什么使用分布式锁? 使用分布式锁的目的,是为了保证同一时间只有一个 JVM 进程可以对共享资源进行操作。 根据锁的用途可以细分为以下两类: 允许多个客户端操作共享资源,我们称为共享锁 这种锁的一般是对共享资源具有

    2024年01月16日
    浏览(38)
  • 京东一面:分布式 ID 生成方案怎么选?写得太好了!

    在分布式系统中,经常需要用到全局唯一ID发生器,标识需要存储的数据。我们需要什么样的ID生成器? ID生成器除了是数据的唯一标识以外,一般需要在系统中承担更多的责任,概括起来有以下几点: 唯一性:“全局唯一” vs “业务唯一”? 分布式系统使用唯一的ID生成器

    2024年02月08日
    浏览(36)
  • 什么是分布式系统,如何学习分布式系统

    正文 虽然本人在前面也写过好几篇分布式系统相关的文章,主要包CAP理论,分布式储存与分布式事务,但对于分布式系统,并没有一个跟清晰的概念。分布式系统涉及到很多的技术、理论与协议,很多人也说,分布式系统是“入门容易,深入难”,我之前的学习也只算是管中

    2024年02月13日
    浏览(32)
  • 单机和分布式有什么区别?分布式系统相比单机系统的优势在哪里?

    本文隶属于专栏《大数据理论体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和文献引用请见《大数据理论体系》 单机系统是指只有一台计算机,所有的软件程序和数据都运行在这台计算机上。在这种情况下,所

    2024年02月11日
    浏览(37)
  • 什么是分布式系统?

    分布式系统是由多个独立的计算机或计算节点组成的系统,这些节点通过消息传递或共享数据的方式进行协调和通信,以实现共同的目标。分布式系统的设计目标是提高系统的可靠性、可扩展性、性能和容错性。 在一个分布式系统中,各个计算机节点之间相互合作,共同完成

    2024年02月10日
    浏览(26)
  • 什么是LAXCUS分布式操作系统?

    相较Linux、Windows,Laxcus是同时在多台计算机上运行的操作系统,处理大规模、高并发、高性能业务,其特点是资源共享和任务并行,并实现【数存算管】超融合一体化。环境中的资源:CPU、GPU、内存、硬盘、网络,被划分为多个部分由任务共享。当一个任务需要处理计算工作

    2024年02月12日
    浏览(28)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包