摘要: Raft 协议分析:选举 Raft协议是现在使用最广泛的分布式一致性协议,下面从问题出发,看Raft怎么解决分布式中的种种问题。 分布式一致性 先问为什么,再问怎么做:“为什么需要分布式一致性协议”? 首先,需要分布式一致性协议的系统肯定是分布式的。分布式系统是由多台机器组成的集群来实现的。既然是集群,就必然引入额外的复杂度 阅读全文
posted @ 2021-11-16 15:09 晨煦风清 阅读(419) 评论(0) 推荐(0) 编辑
摘要: 深入剖析RocketMQ之NameServer 一、RocketMQ架构简介 1.1 逻辑部署图 1.2 核心组件说明 通过上图可以看到,RocketMQ的核心组件主要包括4个,分别是NameServer、Broker、Producer和Consumer,下面我们先依次简单说明下这四个核心组件: NameServer:NameServer充当路由 阅读全文
posted @ 2021-11-16 10:46 晨煦风清 阅读(1166) 评论(0) 推荐(0) 编辑
摘要: OAuth 2.0 协议应用解析 前言 OAuth 2.0 全称是 Open Authorization 2.0, 是用于授权(authorization)的行业标准协议。 OAuth 2.0 专注于客户端开发人员的简单性,同时为 Web 应用程序、桌面应用程序、移动设备应用等提供了特定的授权流程。它在2012年取代了 OAuth 阅读全文
posted @ 2021-11-16 09:15 晨煦风清 阅读(410) 评论(0) 推荐(1) 编辑
摘要: JWT分布式场景应用解析 JWT简介 1.什么是JWT 在介绍JWT之前,我们先来回顾一下利用token进行用户身份验证的流程: 客户端使用用户名和密码请求登录 服务端收到请求,验证用户名和密码 验证成功后,服务端会签发一个token,再把这个token返回给客户端 客户端收到token后可以把它存储起来,比如放到cooki 阅读全文
posted @ 2021-11-15 17:36 晨煦风清 阅读(852) 评论(0) 推荐(0) 编辑
摘要: Elasticsearch查询流程分析 es是一个分布式的存储和检索系统,在存储的时候默认是根据每条记录的_id字段做路由分发的,这意味着es服务端是准确知道每个document分布在那个shard上的。 相对比于CURD上操作,search一个比较复杂的执行模式,因为我们不知道那些document会被匹配到,任何一个shard上都有可能 阅读全文
posted @ 2021-11-12 16:25 晨煦风清 阅读(634) 评论(0) 推荐(1) 编辑
摘要: MongoDB分布式集群分析 本文从理论上讲解 MongoDB 分布式集群架构的三种模式,以及在集群工作方式下,MongoDB 是如何使用分片和复制的机制来完成对数据的管理和恢复的。 MongoDB 有三种集群部署模式,分别为主从复制(Master-Slaver)、副本集(Replica Set)和分片(Sharding)模式。 阅读全文
posted @ 2021-11-11 16:03 晨煦风清 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 分布式系统之BASE理论 BASE是Basically Available(基本可用)、Soft state(软状态)和Eventually consistent(最终一致性)三个短语的缩写。BASE理论是对CAP中一致性和可用性权衡的结果,其来源于对大规模互联网系统分布式实践的总结,是基于CAP定理逐步演化而来的。BASE 阅读全文
posted @ 2019-10-14 14:31 晨煦风清 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 分布式系统之CAP原则 CAP原则又称CAP定理,是一个经典的分布式系统理论。CAP理论告诉我们:一个分布式系统不可能同时满足一致性(C:Consistency)、可用性(A:Availability)和分区容错性(P:Partition tolerance)这三个基本需求,最多只能同时满足其中两项。 一致性 在分布式环境 阅读全文
posted @ 2019-09-14 11:18 晨煦风清 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 分布式ID自动生成方案探究与实践 提及到分布式ID自动生成方案,大家肯定都非常熟悉,并且能说出自家拿手的几种方案。确实,ID作为系统数据的重要标识,重要性不言而喻,而各种方案也是历经多代优化,个人认为可以按照分布式ID自动生成方式进行以下分类: 实现方式 1、完全依赖数据源方式ID的生成规则,读取控制完全由数据源控制,常见的如数据库 阅读全文
posted @ 2019-08-23 16:53 晨煦风清 阅读(614) 评论(0) 推荐(0) 编辑
摘要: Redisson分布式锁应用模式 Redis几种架构 Redis发展到现在,几种常见的部署架构有: 单机模式; 主从模式; 哨兵模式; 集群模式; 我们首先基于这些架构讲解Redisson普通分布式锁实现,需要注意的是,只有充分了解普通分布式锁是如何实现的,才能更好的了解Redlock分布式锁的实现,因为Redlock分布式锁的实现 阅读全文
posted @ 2019-08-14 12:04 晨煦风清 阅读(249) 评论(0) 推荐(0) 编辑