![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
分布式
文章平均质量分 79
Nathaniel333
源码爱好者/java八股文总结者/AI爱好者
展开
-
面试专栏:分库分表
分库分表是一种数据库分片技术,用于解决大规模应用中单一数据库容量不足以支持高并发和大数据量的问题。它将一个大型的数据库拆分成多个小型数据库,每个小型数据库称为一个分片。每个分片存储部分数据,从而降低了单个数据库的负担。简单来说,分库是将原本的单库拆分为多个库,分表是将原来的单表拆分为多个表。很多情况下,分库分表并不是从系统设计开始就存在的,而是系统运行过程中,出现数据量庞大或者查询性能慢等问题延伸而来。如果你在业务功能开发时,已经预知业务数据库量,应提前进行分库或者分表,做好分片规范,避免系统运行时拆分。原创 2024-02-23 15:24:05 · 882 阅读 · 0 评论 -
面试专栏:分布式锁
这一版的代码相当于我们添加锁标志位时,同时为每个客户端设置了 uuid 作为锁标志位的 val,解锁时需要判断锁的 val 是否和自己客户端的相同,辨别成功才会释放锁。如果线上真的发生上述问题,就可能会造成线上数据和业务的运行异常,更甚者可能存在线程一将线程二的锁释放掉之后,线程三获取到锁,然后线程二执行完将线程三的锁释放。就出现了,它的作用就是 线程1 业务还没有执行完,时间就过了,线程1 还想持有锁的话,就会启动一个watch dog后台线程,不断的延长锁key的生存时间。原创 2024-02-23 08:02:16 · 901 阅读 · 0 评论 -
面试专栏:Paxos算法简述
Paxos算法是一种解决分布式系统中一致性问题的协议,被广泛用于确保网络分布式系统中多个节点间的数据一致性。它是由莱斯利·兰伯特(Leslie Lamport)在1989年提出的。原创 2023-11-27 09:15:53 · 407 阅读 · 0 评论 -
面试专栏:CAP原则
在分布式系统中,网络分区是一个无法避免的现实,因此分区容错性是必须要满足的。原创 2023-11-27 07:30:13 · 475 阅读 · 0 评论 -
面试专栏:雪花算法
雪花算法(Snowflake Algorithm)是Twitter设计的一种用于生成唯一ID的算法,特别适合分布式系统中的场景。:通常是距离一个特定时间点的差值(41位),精确到毫秒级别。这保证了按时间顺序的唯一性。:用来标识不同的数据中心(5位)。:用来标识同一数据中心的不同机器(5位)。:在同一毫秒内生成不同ID的计数器(12位)。原创 2023-11-27 07:24:11 · 361 阅读 · 0 评论 -
面试专栏:一致性哈希简述
一致性哈希(Consistent Hashing)是一种分布式哈希方案,广泛用于分布式系统中以提高可扩展性和负载均衡。一致性哈希最初是为了解决网络服务中的缓存命中率问题而提出的,后来在许多其他领域,如分布式存储、负载均衡等也得到了广泛应用。原创 2023-11-25 08:14:19 · 343 阅读 · 0 评论 -
面试专栏:Raft具体步骤专题
总之,Raft 协议通过领袖选举、日志复制、安全性保障以及集群成员变更来确保分布式系统的数据一致性和可用性。它的设计目标是简单易懂,容易实现,并且适用于各种分布式系统应用。Raft 是一种分布式一致性协议,用于解决分布式系统中的数据一致性和可用性问题。它被设计为一种容易理解和实现的分布式共识算法,以取代较复杂的 Paxos 算法。原创 2023-11-24 14:47:16 · 340 阅读 · 0 评论 -
分布式(CAP+BASE)专题
在微服务的构建中,永远都逃离不了CAP理论,因为网络永远不稳定,硬件总会老化,软件会可能出现bug,所以分区容错性在微服务中是躲不过的命题,可以这么说,只要是分布式,只要是集群都面临着AP或者CP的选择,但你很贪心的时候,既要一致性又要可用性,那只能对一致性作出一点妥协,也就是引入了BASE理论,在业务允许的情况下实现最终一致性。究竟是选AP还是选CP,真的在于对业务的了解,例如金钱,库存相关会优先考虑CP模型,例如社区发帖相关可以优先选择AP模型,这个说白了其实基于对业务的了解是一个选择和妥协的过程。转载 2023-11-02 09:33:23 · 26 阅读 · 0 评论 -
Docker专题
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。原创 2023-10-27 05:42:02 · 42 阅读 · 0 评论 -
虚拟化专题
虚拟化技术是云计算的根基,在计算机技术中,原创 2023-10-27 05:28:32 · 23 阅读 · 0 评论 -
分布式ID专题
拿MySQL数据库举个栗子:在我们业务数据量不大的时候,单库单表完全可以支撑现有业务,数据再大一点搞个MySQL主从同步读写分离也能对付。但随着数据日渐增长,主从同步也扛不住了,就需要对数据库进行分库分表,但;特别一点的如订单、优惠券也都需要有唯一ID做标识。。转载 2023-10-15 14:48:39 · 19 阅读 · 0 评论 -
RedLock专题
在Redis的分布式环境中,我们假设有N个Redis Master。这些节点。原创 2023-10-15 06:59:10 · 22 阅读 · 0 评论 -
RAFT算法专题
raft将共识问题分解成两个相对独立的问题,leader election,log replication。流程是先选举出leader,然后leader负责复制、提交log(log中包含command)为了在任何异常情况下系统不出错,即满足safety属性,对leader election,log replication两个子问题有诸多约束同一任期内最多只能投一票,先来先得选举人必须比自己知道的更多(比较term,log index)转载 2023-09-28 17:30:43 · 21 阅读 · 0 评论 -
分布式事务专题
TCC 是 Try、Confirm、Cancel 三个词语的缩写,TCC 要求每个分支事务实现三个操作:预处理 Try、确认 Confirm、撤销 Cancel。Try 操作做业务检查及资源预留,Confirm 做业务确认操作,Cancel 实现一个与 Try 相反的操作即回滚操作。原创 2023-09-03 22:45:51 · 18 阅读 · 0 评论 -
Paxos算法专题
这个算法的主要目的是:让参与分布式处理的每个参与者逐步达成一致意见。用好理解的方式来说,就是。Lamport为了讲述这个算法,假想了一个叫做Paxos的希腊城邦进行选举的情景,这个算法也是因此而得名。在他的假想中,这个城邦要采用民主提议和投票的方式选出一个最终的决议,但由于城邦的居民没有人愿意把全部时间和精力放在这种事情上,所以他们只能不定时的来参加提议,不定时来了解提议、投票进展,不定时的表达自己的投票意见。Paxos算法的目标就是让他们按照少数服从多数的方式,最终达成一致意见。原创 2023-08-26 10:53:33 · 54 阅读 · 0 评论 -
Zookeeper专题
Zookeeper: 是是 hadoop 项目下的一个子项目。。原创 2023-08-24 22:11:37 · 52 阅读 · 1 评论 -
Redis集群专题
Redis 集群是一个可以在多个 Redis 节点之间进行数据共享的设施(installation)。Redis 集群不支持那些需要同时处理多个键的 Redis 命令, 因为执行这些命令需要在多个 Redis 节点之间移动数据, 并且在高负载的情况下, 这些命令将降低 Redis 集群的性能, 并导致不可预测的错误。原创 2023-08-24 21:32:38 · 21 阅读 · 0 评论 -
BASE理论专题
BASE理论是由eBay工程师提出,是对可用性和一致性的权衡。BASE是由 Basically Available(基本可用),Soft state(软状态),和 Eventually consistent(最终一致性)三个短语的缩写。Basically Available(基本可用)算作完全可用和完全不可用中的一种折中,互联网上的应用,如果是完全不可用的,那这个系统就没存在必要了;而在互联网上,用户量等有时候难以预见,就造成了用户超出系统设计的标准,想一直保持完全可用就很难,所以折中下,原创 2023-08-24 16:36:31 · 26 阅读 · 0 评论 -
CAP理论专题
这三个性质对应了分布式系统的三个指标。原创 2023-08-24 15:05:02 · 28 阅读 · 0 评论 -
分布式锁专题
分布式的 CAP 理论告诉我们:任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance),最多只能同时满足两项。目前很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。基于 CAP理论,很多系统在设计之初就要对这三者做出取舍。在互联网领域的绝大多数的场景中,都需要牺牲强一致性来换取系统的高可用性,系统往往只需要保证最终一致性。原创 2023-08-24 10:05:50 · 28 阅读 · 0 评论