【分布式存储】聊聊共识和一致性

在分布式存储系统中,对于提高性能、可用性、可拓展性来说都有相关机制可以保证,比如复制、切片等,但是一旦涉及到分布式系统中选主的问题,就比较难,因为网络是不可靠的,并且可能还有拜占庭将军问题。所以如何保证在多个分布式节点中,对于一个结果能够达成共识,也就是分布式共识问题。

什么是分布式共识

举一个例子,比如有3台服务器,分别部署在北京、上海、广州。每个服务器都可以处理交易,如果是线下,可以通过人工识别的方式记录转账交易。但是分布式环境下,3台机器都可以处理交易,如何保证一笔交易在3台服务器之间达成一致性。

分布式共识就是在多个节点均可独自操作或记录的情况下,使得所有节点针对某个状态达成一致的过程。通过共识机制,我们可以使得分布式系统中的多个节点的数据达成一致。

共识和一致性区别

一致性强调的是结果,共识强调的是达成一致的过程

分布式共识方法

挖矿:在交易中,如果提供服务需要收取一定的服务费,但是在分布式记账系统中,参与计算交易的服务器,也可以收取一定的费用,而所有服务器帮助记录交易并达成一致的过程,就是挖矿。
区块链整体结构:包含交易信息的区块从后往前有序链接起来的数据结构。
区块:很多交易数据的集合,包含区块头和区块体。
区块头:前一区块的哈希值、本区块的哈希值和时间戳。
区块体:存储交易数据。

3 种主流的解决分布式在线记账一致性问题的共识技术,即:PoW(Proof-of-Work,工作量证明)、PoS(Proof-of-Stake,权益证明)和 DPoS(Delegated Proof of Stake,委托权益证明)。

PoW

PoW的核心是谁的计算能力强,谁就可能获取到记账权。
在这里插入图片描述
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

线程安全的集合类

目录 一、线程安全的集合类 1.1、多线程环境下使用ArrayList 1.2、多线程使用队列 1.3、多线程环境使用哈希表 1.3.1、Hashtable 1.3.2、ConcurrentHashMap 一、线程安全的集合类 在多线程的环境下,多个线程对同一个共享变量进行写操作的时候,有可…

chatGPT流式回复是怎么实现的

chatGPT流式回复是怎么实现的 先说结论: chatGPT的流式回复用的就是HTTP请求方案中的server-send-event流式接口,也就是服务端向客户端推流数据。 那eventStream流式接口怎么实现呢,下面就进入正题! 文章目录 chatGPT流式回复…

【NVIDIA】Jetson AGX Orin内核、设备树更新指南

博主未授权任何人或组织机构转载博主任何原创文章,感谢各位对原创的支持! 博主链接 本人就职于国际知名终端厂商,负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作,目前牵头6G算力网络技术标准研究。 博客…

redis-单节点安装

daemonize yes port 6379 bind 0.0.0.0 requirepass 123456 save 3600 1 300 100 60 10000dir /usr/local/redis dbfilename dump.rdb logfile redis.log pidfile redis.pid##save 3600 1 300 100 60 10000 ##3600秒(一小时),至少有一个值的话,会进行存盘 ##300秒(五分钟),至少…

Java版企业工程项目管理系统源码+java版本+项目模块功能清单+spring cloud +spring boot

工程项目各模块及其功能点清单 一、系统管理 1、数据字典:实现对数据字典标签的增删改查操作 2、编码管理:实现对系统编码的增删改查操作 3、用户管理:管理和查看用户角色 4、菜单管理:实现对系统菜单的增删改查操…

macOS上下载安装Kibana并连接ES

下载Kibana 执行以下命令进行,版本号根据你所用的ES版本选择,比如我的是7.10.0 curl -O https://artifacts.elastic.co/downloads/kibana/kibana-7.10.0-darwin-x86_64.tar.gz解压安装Kibana tar -zxvf kibana-7.10.0-darwin-x86_64.tar.gz进行config…

Java -- XXL-JOB分布式任务调度平台

XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用 xxl是xxl-job的开发者大众点评的【许雪里】名称的拼音开头 官网地址 分布式任务调度平台XXL-JOB 文档地址…

【MySql】C语言连接mysql|图形化工具

文章目录 Connector/C 使用mysql接口介绍Navicat远程连接数据库 Connector/C 使用 说完了mysql的基础,后面我们只关心使用,要使用C语言连接mysql,需要使用mysql官网提供的库,前往官网下载即可。 但是实际上我们并不需要这样去做,…

力扣1768.交替合并字符串(java模拟法)

题目描述: 给你两个字符串 word1 和 word2 。请你从 word1 开始,通过交替添加字母来合并字符串。如果一个字符串比另一个字符串长,就将多出来的字母追加到合并后字符串的末尾。 返回 合并后的字符串 。 问题分析: 我们可以直…

MySQL MHA高可用集群部署及故障切换

MySQL MHA高可用集群部署及故障切换 一、MHA概述二、MHA的组成三、MHA的特点四、MHA的原理五、搭建MySQLMHA1、所有服务器,关闭系统防火墙和安全机制2、修改 master(192.168.92.11)、Slave1(192.168.92.12)、Slave2&am…

Jmeter(jmeter-plugins插件的安装使用)

目录 一、安装JMter Plugins 二、Custom Thread Groups插件 Stepping Thread Group 元件 Ultimate Thread Group 一、安装JMter Plugins 1、官网下载 JMeter Plugins 的jar包 2. 将下载的jar包复制到 %JMETER_HOME%\lib\ext 目录下 3. 启动 JMeter --> Options -->…

[BJDCTF2020]认真你就输了

题目具有极大的威胁性 打开下发的excel文件,发现报错,文件格式与扩展不匹配,说明文件后缀做了更改 拿去010,根据文件头发现是一个zip压缩文件 成功解压,结果解压出来的文件一个都看不懂,查看了wp得知 刚上来…