摘要:
为什么需要分布式锁? 在开始讲分布式锁之前,有必要简单介绍一下,为什么需要分布式锁? 与分布式锁相对应的是「单机锁」,我们在写多线程程序时,避免同时操作一个共享变量产生数据问题,通常会使用一把锁来「互斥」,以保证共享变量的正确性,其使用范围是在「同一个进程」中。 如果换做是多个进程,需要同时操作一个 阅读全文
为什么需要分布式锁? 在开始讲分布式锁之前,有必要简单介绍一下,为什么需要分布式锁? 与分布式锁相对应的是「单机锁」,我们在写多线程程序时,避免同时操作一个共享变量产生数据问题,通常会使用一把锁来「互斥」,以保证共享变量的正确性,其使用范围是在「同一个进程」中。 如果换做是多个进程,需要同时操作一个 阅读全文
posted @ 2021-11-17 16:46
晨煦风清
阅读(121)
评论(0)
推荐(0)
摘要:
上一篇文章解析了Raft协议的选举机制,客户端通过和选举出来的Leader通信来读写数据。选举只是保证数据一致性的基础,数据读写才是该协议要实现的功能。这篇文章来分析下Raft协议通过哪些约束来保证数据在多个节点上一致性。 基础原理 官方文档上对Raft的描述中说,“Raft本质上是管理日志复制的一 阅读全文
上一篇文章解析了Raft协议的选举机制,客户端通过和选举出来的Leader通信来读写数据。选举只是保证数据一致性的基础,数据读写才是该协议要实现的功能。这篇文章来分析下Raft协议通过哪些约束来保证数据在多个节点上一致性。 基础原理 官方文档上对Raft的描述中说,“Raft本质上是管理日志复制的一 阅读全文
posted @ 2021-11-17 14:54
晨煦风清
阅读(729)
评论(0)
推荐(0)

Raft协议是现在使用最广泛的分布式一致性协议,下面从问题出发,看Raft怎么解决分布式中的种种问题。 分布式一致性 先问为什么,再问怎么做:“为什么需要分布式一致性协议”? 首先,需要分布式一致性协议的系统肯定是分布式的。分布式系统是由多台机器组成的集群来实现的。既然是集群,就必然引入额外的复杂度
一、RocketMQ架构简介 1.1 逻辑部署图 1.2 核心组件说明 通过上图可以看到,RocketMQ的核心组件主要包括4个,分别是NameServer、Broker、Producer和Consumer,下面我们先依次简单说明下这四个核心组件: NameServer:NameServer充当路由
前言 OAuth 2.0 全称是 Open Authorization 2.0, 是用于授权(authorization)的行业标准协议。 OAuth 2.0 专注于客户端开发人员的简单性,同时为 Web 应用程序、桌面应用程序、移动设备应用等提供了特定的授权流程。它在2012年取代了 OAuth
JWT简介 1.什么是JWT 在介绍JWT之前,我们先来回顾一下利用token进行用户身份验证的流程: 客户端使用用户名和密码请求登录 服务端收到请求,验证用户名和密码 验证成功后,服务端会签发一个token,再把这个token返回给客户端 客户端收到token后可以把它存储起来,比如放到cooki
es是一个分布式的存储和检索系统,在存储的时候默认是根据每条记录的_id字段做路由分发的,这意味着es服务端是准确知道每个document分布在那个shard上的。 相对比于CURD上操作,search一个比较复杂的执行模式,因为我们不知道那些document会被匹配到,任何一个shard上都有可能
本文从理论上讲解 MongoDB 分布式集群架构的三种模式,以及在集群工作方式下,MongoDB 是如何使用分片和复制的机制来完成对数据的管理和恢复的。 MongoDB 有三种集群部署模式,分别为主从复制(Master-Slaver)、副本集(Replica Set)和分片(Sharding)模式。
BASE是Basically Available(基本可用)、Soft state(软状态)和Eventually consistent(最终一致性)三个短语的缩写。BASE理论是对CAP中一致性和可用性权衡的结果,其来源于对大规模互联网系统分布式实践的总结,是基于CAP定理逐步演化而来的。BASE
CAP原则又称CAP定理,是一个经典的分布式系统理论。CAP理论告诉我们:一个分布式系统不可能同时满足一致性(C:Consistency)、可用性(A:Availability)和分区容错性(P:Partition tolerance)这三个基本需求,最多只能同时满足其中两项。 一致性 在分布式环境
浙公网安备 33010602011771号