首页
Python
Java
前端
数据库
Linux
Chatgpt专题
开发者工具箱
选主专题
k8s中基于资源锁的选主分析
简介 k8s中为了实现高可用,需要部署多个副本,例如多个apiserver、scheduler、controller-manager等,其中apiserver是无状态的每个组件都可以工作,而scheduler与controller-manager是有状态的,同一时刻只能存在一个活跃的,需要进行选主。 k8s使用了资源锁(endpoints/configmap/lease)的方式来实现选主,多个
阅读更多...
zookeeper curator选主(Leader)
在分布式系统设计中,选主是一个常见的场景。选主是一个这样的过程,通过选主,主节点被选择出来控制其他节点或者是分配任务。 选主算法要满足的几个特征: 1)各个节点均衡的获得成为主节点的权利,一旦主节点被选出,其他的节点可以感知到谁是主节点,被服从分配。 2)主节点是唯一存在的 3)一旦主节点失效,宕机或者断开连接,其他的节点能够感知,并且重新进行选主算法。 zookeeper实现了安
阅读更多...
通过redis选主进程
选主进程的方式有很多,完善点的方案就是zookeeper来做。这里介绍的是一种基于redis选主的方案,快速开发,快速实现。 Springside4里有个MasterElector类,细读代码后整理出自己的总结如下。 1. 业务进程启动时生成hostId,hostId的规则是“主机名-随机数”,一台主机部署多个进程实例的情况,也可以改为“主机名-端口”。 2. 业务进程调
阅读更多...
阿里技面之raft如何选主
背景 一面在考查技术基础首先被问到过raft协议如何选主?主挂了选出的新主如何重新进行日志复制? raft协议一直都是分布式系统一致性的难点,能讲清楚很不容易, 下面我们就通过现场还原的方式讲讲该如何回答这两个问题的。 现场还原 Q1面试官:那你先说一下raft协议是如何选主吧? A1 我:为了保证数据一致性,最好的方式是唯一节点去读,唯一节点去写。这样的数据肯定是一致的。但是分布式架构显
阅读更多...