随笔分类 - 分布式 & 高可用
摘要:一 基于 Redis 实现分布式锁 1 如何基于Redis实现一个最简易的分布式锁? 不论是本地锁还是分布式锁,核心都在于“互斥”。 在Redis中, SETNX 命令是可以帮助我们实现互斥。SETNX即SET if Not eXists (对应 Java 中的 setIfAbsent 方法),如果
阅读全文
摘要:一 数据库主键自增 这种方式就比较简单直白了,就是通过关系型数据库的自增主键产生来唯一的 ID。 优点:实现起来比较简单、ID 有序递增、存储消耗空间小 缺点:支持的并发量不大、存在数据库单点问题(可以使用数据库集群解决,不过增加了复杂度)、ID 没有具体业务含义、安全问题(比如根据订单 ID 的递
阅读全文
摘要:一 什么是高可用,判断标准是神么 高可用(High Availability)描述的是一个系统在大部分时间都是可用的,可以为我们提供服务的。高可用代表系统即使在发生硬件故障或者系统升级的时候,服务仍然是可用的。 一般情况下,我们使用多少个 9 来评判一个系统的可用性,比如 99.9999% 就是代表
阅读全文
摘要:一 分布式中的CAP怎么理解 1 CAP定义 C(Consistency)一致性 指的是所有节点在同一时间的数据完全一致 A(Availability)可用性 指服务一直可用,而且是正常响应时间 P(Partition Tolerance)分区容忍性 指在遇到某节点或网络分区故障的时候,仍然能够对外
阅读全文
摘要:一 Zookeeper是什么 引用官方的说法:“Zookeeper是一个高性能的开源分布式应用协调服务。它提供了简单原始的功能, ZooKeeper 为我们提供了高可用、高性能、稳定的分布式数据一致性解决方案,通常被用于实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Mast
阅读全文