
分布式
文章平均质量分 89
翔云123456
这个作者很懒,什么都没留下…
展开
-
为什么“连接断开可能导致锁未释放”
大多数情况下:数据库会在连接断开时自动释放锁,但需依赖数据库的实现和配置。极端场景下:因网络问题、数据库检测延迟或代码缺陷,锁可能未及时释放,导致类似死锁的阻塞问题。解决方案:通过事务超时设置、完善的代码逻辑和运维监控降低风险。原创 2025-03-18 22:45:31 · 796 阅读 · 0 评论 -
分布式锁的实现
分布式锁是分布式系统中协调多节点并发访问共享资源的机制,其核心目标是保证在分布式环境下同一时刻只有一个客户端能执行关键操作。原创 2025-03-18 22:23:21 · 1008 阅读 · 0 评论 -
异地多活(Geo-Redundancy 或 Geographic Redundancy)
异地多活(Geo-Redundancy)是指在不同的地理位置(通常是不同的城市或地区)部署多个数据中心,这些数据中心之间通过高速网络连接,实现数据的同步和服务的高可用性。异地多活(Geo-Redundancy)是一种高可用性和灾难恢复策略,通过在不同的地理位置部署多个数据中心,实现数据的同步和服务的高可用性。通过结合单元化和异地多活,可以构建一个既具有高扩展性又具有高可用性的系统架构,能够应对大规模的用户流量和区域性灾难,保证业务的连续性和数据的安全性。原创 2024-07-14 20:17:27 · 1086 阅读 · 0 评论 -
单元化(Cell Sharding)
单元化(Cell Sharding)是一种架构设计策略,主要用于解决大规模分布式系统中的扩展性、性能和容错性问题。单元化的核心思想是将系统划分为多个独立的单元(Cells),每个单元包含完整的服务和数据副本,可以独立运行和扩展。原创 2024-07-14 20:04:32 · 1224 阅读 · 0 评论 -
TiDB中的PD--元数据管理和调度中心
TiDB 的 PD(Placement Driver)组件是整个分布式数据库系统的关键部分,是整个集群的元数据管理和调度中心,负责存储集群的元数据和进行 Region 调度。通过这些功能,PD 为 TiDB 集群提供了数据的一致性保证、高可用性、负载均衡以及事务的时间戳服务,是整个 TiDB 分布式数据库系统能够高效、稳定运行的关键组件。原创 2024-05-01 23:31:02 · 918 阅读 · 1 评论 -
TiDB分布式关系型数据库简介
本文主要介绍TiDB架构以及使用场景。原创 2024-02-14 11:11:19 · 1422 阅读 · 0 评论 -
etcd是什么
本文主要介绍etcd 概念和基本应用场景。原创 2023-12-17 11:40:01 · 358 阅读 · 0 评论 -
Kafka 搭建过程
本文主要介绍Kafka基本原理,以及搭建过程。原创 2023-10-05 21:50:20 · 1779 阅读 · 2 评论 -
PolarDB-X 分布式数据库初体验
分布式数据库,是相对于单体数据库而言的,简单的说,分布式数据库就是用分布式架构实现的数据库。当前分布式数据库可以分为三个技术方向,一是以 DRDS、TDSQL 等为代表的 Sharding 技术,其最大的优势在于继承了 MySQL 存储多年的的技术积累;原创 2022-11-30 23:37:14 · 1723 阅读 · 0 评论 -
raft协议中的日志安全性
目录1.日志安全性问题2.选举限制3.当前term的日志提交4.上个term的日志提交5.参考1.日志安全性问题日志安全性是指,新选出的leader必须包含所有已提交的日志项,已经提交的日志不能因为leader变化被覆盖。在raft日志复制过程中,follower为了保持与leader一致性,follower的日志可能会被覆盖。raft是如何保证日志安全性的?raft有以下几点规则:leader只能日志追加日志,不能覆盖日志。只有leader的日志项才能被提交,follower不能接收写请原创 2020-10-25 22:07:02 · 892 阅读 · 0 评论 -
go get 安装 go.etcd.io etcd clientv3 报错
目录问题解决办法问题直接使用go get -u go.etcd.io/etcd/clientv3安装 go etcd clientv3会遇到如下问题:go get -u go.etcd.io/etcd/clientv3# go.etcd.io/etcd/clientv3/balancer/pickerworkspace/go_projects/src/go.etcd.io/etcd/clientv3/balancer/picker/err.go:25:9: cannot use &er原创 2020-10-18 13:13:32 · 3071 阅读 · 1 评论 -
go etcd client 简明教程
etcd是分布式强一致KV存储系统。关于etcd的介绍和使用,可以查阅上篇文章etcd入门。本文主要介绍在golang中是如何使用etcd的。安装packageetcd 官方提供了golang语言的client package go.etcd.io/etcd/clientv3。这里介绍的v3版本的使用。下载已经发布版本的source code。例如,v3.4.13 ,下载地址v3.4.13。下载后,解压到$GOPATH目录下:tar zvxf etcd-3.4.13.tar.gz -C /h原创 2020-10-18 13:05:03 · 2217 阅读 · 1 评论 -
etcd 分布式集群搭建和使用
目录1.多节点服务集群搭建启动节点1启动节点2启动节点32.使用查看节点信息集群状态键值对 读写3.参考上篇文章etcd 入门 中已经介绍了etcd基本功能,单节点服务的安装和使用。本文将介绍etcd 分布式多节点的安装、配置和使用。由于资源限制,本文以单机多节点服务为例进行阐述。在实际应用场景中,为了高可用和容灾,是需要多机器安装的。1.多节点服务集群搭建默认情况下,端口2379用于提供HTTP API服务,端口2380用于节点间通信。在单机情况下,多节点服务需要使用不同端口。三节点集群信原创 2020-10-11 16:03:12 · 1677 阅读 · 1 评论 -
etcd 入门
目录1.基本功能2.安装与配置解压缩启动etcd服务3.使用查看版本号查看集群成员信息查看集群健康状态键值对写入和读取前缀匹配查找删除租约观察者watch4.参考etcd 是一个开源的、分布式的键值对数据存储系统。etcd应用场景包括服务发现、配置中心(共享配置),以及分布式锁等。etcd 基于 go 语言实现,内部采用raft协议作为一致性算法。类似项目有zookeeper 和 consul。etcd数据模型是一个持久的、多版本并发控制模型。对于旧的数据,它会压缩存储区,丢弃最旧的版本。在应原创 2020-10-10 22:52:57 · 751 阅读 · 2 评论 -
orchestrator中的raft snapshot操作
1.snapshot是什么snapshot是Raft log压缩的方式。压缩内容主要是Raft log 和应用状态数据(即orchestrator 中backend DB)。snapshot作用:定期清理raft log,减少空间占用备份raft节点状态,新节点加入时,快速应用备份和加入集群对于具体业务的影响,例如在orchestrator,原先从CMDB中导入的数据,可以快速在新节点或落后节点恢复切换时的防flapping,依赖topology_recovery数据表记录等2.什么时候原创 2020-08-09 22:10:50 · 412 阅读 · 0 评论 -
分布式共识协议RAFT基本原理
为了提升服务的高可用、高性能,通常采用多节点架构。一个节点时候,数据是一致的。多个节点的情况下,如何保证数据一致性呢?本文介绍的RAFT协议,就是解决多节点情况下,数据一致性问题。1.基本概念节点有三种角色:leader, candidate, 和follower.在Raft选举中,有两个控制选举的超时设置: 选举超时(election timeout)和心跳超时(heartbeat t...原创 2020-03-29 21:34:31 · 604 阅读 · 0 评论