10年老码农亲授:什么是分布式系统

news2024/11/29 20:39:43

首先,分布式系统是在硬件成本日益提高,或者单机提升的成本过于昂贵而程序的问题得不到解决时,为了解决更加高效、内容量更大的数据而采取的一种解决手段。

而分布式系统又分为两个部分,计算和存储,而准确来说这两部分不能分开,而是相辅相成的。

为什么提到分布式系统,是因为这个概念的提出遇到了很多的挑战:

比如,如果系统中存在的单个电脑的配置存在差异,那么在性能方面,例如语言的使用和信息处理的效率还有能力上就会变得良莠不齐;在加上网络运营商的效率和容差,让不同位置不同的机器配合,同时高效的解决一整个高数据流的问题,成为分布式系统概念提出以来一个严肃的亟待解决的问题。


又比如,因为分布式系统是针对于计算机的某个节点的,如果按照节点划分,单个机子出现故障的概率很低,但是随着机子的数量增加,节点的数量增加,出现故障的概率也是成正比的增加。


如何降低这些故障发生的概率,并且实施有效的风险应对,在遇到故障时可以积极主动地调动其他完好的机子继续执行当下的任务不拖节奏成为了我们的解决方法,但是想法的提出需要有效的理论和技术去实现。


再比如,在节点和节点之间的衔接是借助网络作为媒介传播的,但是网络除了高效快捷的同时也带来了不稳定以及漏洞。常见的网络问题有:网络分割、延时、丢包、乱序。但是遗憾的是,除了网络目前我们没有别的手段实现节点和节点之间的传播。


如果借助网络,我们的分布式就会变得脆弱。比如常见的网络分割问题,注意这里的网络是指大、 中型的工业级别网络,如企业、金融机构、政府机构、大型教育园区网等类型项目的网络,有别于普通家用的小型网络,是需要庞大而复杂的网络来支持的,这类网络在实现实用价值的时候就会通过分割网络来解决单一网络、单一链路的缺陷,从而导致受体的计算机会出现没有网络的情况。


由此可见,网络分割是大型企业中不可或缺的维稳保障,然而这又给分布式系统带来不少风险和麻烦。

诸如此类的矛盾点存在于分布式系统的发展中,因此分布式系统的研发才走在最前沿,成为了java大佬的分水岭。搞明白这些不仅仅代表你的java学到了一定水平,更加可以确定的是你已经接触到了比较靠前的技术,并且在一个突破的窗口瞭望。

如果你可以解决这些问题,不可否认的除了个人的能力技术,更是具有里程碑式意义的存在。


最后放上外国大师总结的分布式新手容易犯下或者忽略的几点容易犯错假设:

The network is reliable.
Latency is zero.
Bandwidth is infinite.
The network is secure.
Topology doesn't change.
There is one administrator.
Transport cost is zero.
The network is homogeneous.


希望这篇文章可以帮到你了解一下分布式系统目前的处境。

欢迎点赞评论收藏~

你还想知道关于计算机的什么问题,欢迎评论区留言,我们下期见。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/26394.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

知行之桥EDI系统2022版Tomcat部署

1.首先需要下载Tomcat,可在Tomcat官网获取,本部署步骤以apache-tomcat-9.0.67.tar.gz为例,通过XFTP将该包放在服务器上的指定位置,如/opt/test 进入/opt/test文件夹后,在命令行执行以下命令对该包进行解压缩 tar -zxv…

大数据毕设 - 公交数据分析与可视化系统(大数据 python flask)

文章目录0 前言1 课题背景2 具体实现3 Flask框架4 ECharts可视化工具5 最后0 前言 🔥 Hi,大家好,这里是丹成学长的毕设系列文章! 🔥 对毕设有任何疑问都可以问学长哦! 这两年开始,各个学校对毕设的要求越…

Smart Tomcat + Servlet API的应用

文章目录前言一、Smart Tomcat二、Servlet API1.HttpServlet(1)方法(2)描述servlet的生命周期(3)案例2.HttpServletRequest(1)方法(2)代码示例打印请求信息获…

若依框架图片上传、富文本框编辑器功能

文章目录一、前言二、效果三、编码过程1.前端:index.vueprojectShow.js富文本框: Editor/index.vue图片上传:ImgUploadCropper/index.vue2.后端:实体ProjectShowProjectShowControllerIProjectShowServiceProjectShowServiceImplProjectShowM…

Linux命令大全

前言 Linux 的学习对于一个程序员的重要性是不言而喻的。前端开发相比后端开发,接触 Linux机会相对较少,因此往往容易忽视它。但是学好它却是程序员必备修养之一。 作者使用的是阿里云服务器 ECS (最便宜的那种) CentOS 7.7 64位…

指针初阶(C语言)

指针 指针是什么 内存划分是一个字节一个字节来划分的,其中每个字节都有一个编号来标识它,我们将这个编号称为地址,而指针就是地址 注意:编号是不占内存空间的,(这些编号在内存中用十六进制表示&#xff0…

正厚软件 | App测试面试题及参考答案

最近整理了一些关于App测试的面试题。 本参照答案是本人在工作实践中总结,仅代表个人观点,如有错误,请谅解。 问:说一些你在测试过程中常用到的adb命名 答:回答本问题时,首先不要想到哪个命名就说哪个命令…

锐捷ISIS基础实验

目录 ISIS理论讲解 配置ISIS邻居建立 配置路由渗透(泄露) ISIS其它的配置特性 配置ISIS时间属性 配置ISIS认证 ISIS理论讲解 ISIS——基本概念1(邻居建立、路由计算、报文封装)_静下心来敲木鱼的博客-CSDN博客https://blog…

2022年全球高被引科学家公布

博士后、访问学者及联合培养申请者,都希望去名校及牛导麾下深造。名校有世界几大排名体系做参考,其知名度毋庸置疑。但牛导的概念是什么呢?知识人网小编在此介绍最新推出的“2022年度高被引科学家”,这里云集了全球自然科学和社会…

教你使用 SO_REUSEPORT 套接字选项提升服务性能

前言 Linux 网络栈中有一个相对较新的特性——SO_REUSEPORT 套接字选项,可以使用它来提升你的服务性能。 图 1: 上面的服务是使用并行监听器来避免请求连接瓶颈,而下面的服务只使用一个监听器来接收连接 概要 HAProxy 和 NGINX 是少数几个使用 Linux …

线段树什么的不是简简单单嘛,我教你!:基础篇

线段树什么的不是简简单单嘛,我教你!:基础篇 零、序言——万物滴开篇 也许你是苦于笔试的打工人,也许你是步入算法圈不久的小小萌新(我也是萌新) ,也许你是在网上搜索数据结构课设的倒霉学生。…

2049. 统计最高分的节点数目-数组树构造+遍历求解最大值数目

2049. 统计最高分的节点数目-数组树构造遍历求解最大值数目 给你一棵根节点为 0 的 二叉树 ,它总共有 n 个节点,节点编号为 0 到 n - 1 。同时给你一个下标从 0 开始的整数数组 parents 表示这棵树,其中 parents[i] 是节点 i 的父节点。由于…

音视频 - 视频编码原理

目录 视频编码主要分为 图像的冗余 熵编码 帧内预测 帧间预测 DCT变换和量化 编码器比较 清晰度和耗时对比 一部电影1080P,帧率25fps,时长2小时,文件大小 1920x1080x1.5x25x2x360 521.4G 数据量非常大,对存储和网络传输都…

GMC Graph-Based Multi-View Clustering

GMC Graph-Based Multi-View Clustering 基于图的多视图聚类 abstract 现有的大多数方法没有充分考虑不同视图的权重,需要额外的聚类步骤来生成最终的聚类。还通常基于所有视图的固定图相似矩阵来优化目标。 本文提出了一种通用的基于图的多视图聚类算法(GMC)来解…

Android程序设计之学生考勤管理系统

基于安卓平台开发的学生考勤管理系统,本系统采用java语言设计,数据存储使用SQLite轻量级数据库实现 SQLite 简介 SQLite是一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite是一个增长最快的数据库引擎&…

JSON 对比工具

文章目录JSON对比工具JSON对比工具 JSON 是 Web 开发领域中最常用的数据传输格式之一,因为 JSON 的可读性较高,对于一些简单的 JSON 数据,我们不需要借助任何工具就可以轻易的读取。但对于复杂的 JSON 数据就需要借助工具才行,本…

公众号文案写作技巧有哪些?教你几招

公众号文案写作是每个公众号运营者心中的痛: 你是否每天纠结写什么? 你是否写着写着就词穷了? 你是否不知道该如何下手? 公众号文案应该怎么写?今天伯乐网络传媒就来给大家分享一份超实用的公众号文案写作技巧&…

增量模型和迭代模型的优点与缺点

增量模型: 举个例子: 用户有一个需求,功能包含A,B,C... ABC 增量模型: 开发完A我就直接上线供给用户去使用 开发完C我就直接上线供给用户去使用 开发完B我就直接上线供给用户去使用 增量模型的特点 增量模型的特点…

度量BGP监测源数量对AS可见性的影响

首先,本文介绍了两个公开的BGP数据源项目情况;其次,从可见AS数量和可见AS边关系数量两个方面来分析度量BGP监测源中对等AS的可见性。 BGP数据源介绍 BGP数据源有2个公开的项目,分别是RIPE RIS和Route Views,它们使用路…

VUE基础编程(三)

案例要求 基于Vue Cli和嵌套路由技术,完成以下功能: 站点打开后会默认显示如图3.1所示的“关于公司”页面,单击图3.1页面上的“公司简介”链接,站点会显示如图3.2所示的“公司简介”页面,单击图3.1页面上的“公司治理…