分布式系统关键点
分布式系统关键点
分布式系统(distributed system)是建立在网络之上的软件系统。正是因为软件的特性,所以分布式系统具有高度的内聚性和透明性。因此,网络和分布式系统之间的区别更多的在于高层软件(特别是操作系统),而不是硬件。内聚性是指每一个数据库分布节点高度自治,有本地的数据库管理系统。透明性是指每一个数据库分布节点对用户的应用来说都是透明的,看不出是本地还是远程。在分布式数据库系统中,用户感觉不到数据是分布的,即用户不须知道关系是否分割、有无副本、数据存于哪个站点以及事务在哪个站点上执行等
一、分布式系统计算节点分布和计算节点一致性算法
1、 现分布式15个节点,计算任务分布如下:
计算任务ID |
2i-1 |
(+节点编号)任务分配节点 |
1 |
1 |
2 |
2 |
2 |
3 |
3 |
4 |
5 |
4 |
8 |
9 |
即在计算节点1上的任务为2、3、5、9,以此类推出个计算节点负责的计算任务编号。
2、 当分布式节点中并未存在计算节点,或分配任务的计算节点挂了,寻找最近计算节点,如当20计算任务分配到18结算节点
3、 当分布式计算节点中加入新的节点后,各节点计算任务重分配问题
当加28计算节点后,2和20计算点首先进行重新计算、当进入新的计算节点后,通过1网相邻节点传播,寻找计算节点
二、分布式系统中各类一致性问题
1、 顺序一致性
当P1写入x值后,各计算节点,应该在读到x值后应该不可回溯
2、 因果一致性
当p1计算节点连续写入x后,p2计算节点同样对x进行操作,其他计算节点对x当读可以存在不一致,但不一致应该是顺序的一致性。
3、 客户一致性
保持计算节点的一致性最终目标是实现系统的客户一致性,上海客户到西安出差,读取西安节点邮件列表,可以只展现最新邮件,但最新邮件必须和上海计算节点一致,对历史数据加载通过异步实现
4、 接口一致性
IOS和android在使用微信上的用户体验差距并没有太大差别,接口的一致性。
5、 面向数据一致性
三、数据一致性
1、 单调读
2、 单调写
3、 读写一致
4、 顺序读写
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探