
etcd
文章平均质量分 77
etcd 笔记
wohu007
这个作者很懒,什么都没留下…
展开
-
Etcd 可视化工具 — Etcd Keeper、etcdmanager、etcdv3-browser
etcd 可视化工具客户端原创 2023-03-28 21:15:00 · 10547 阅读 · 1 评论 -
etcd 笔记(08)— 基于 etcd 实现分布式锁
基于 etcd 实现分布式锁原创 2022-09-20 21:45:00 · 753 阅读 · 0 评论 -
etcd 参考资料
raft官网 有论文地址以及相关资料。http://thesecretlivesofdata.com/raft/ 动画演示etcd 应用场景并发之痛 Thread,Goroutine,Actor原创 2022-02-19 20:09:42 · 197 阅读 · 0 评论 -
etcd 笔记(09)— 基于 etcd 实现微服务的注册与发现
1. 服务注册与发现基本概念在单体应用向微服务架构演进的过程中,原本的巨石型应用会按照业务需求被拆分成多个微服务,每个服务提供特定的功能,也可能依赖于其他的微服务。此时,每个微服务实例都可以动态部署,服务实例之间的调用通过轻量级的远程调用方式(HTTP、消息队列等)实现,它们之间通过预先定义好的接口进行访问。在微服务架构中,多个微服务间的通信需要依赖服务注册与发现组件获取指定服务实例的地址信息,才能正确地发起 RPC 调用,保证分布式系统的高可用、高并发。服务注册与发现主要包含两部分:服务注册的功能与原创 2021-05-12 22:21:54 · 2038 阅读 · 0 评论 -
etcd 笔记(08)— 基于 etcd 实现分布式锁
1. 为什么需要分布式锁?在分布式环境下,数据一致性问题一直是个难点。分布式与单机环境最大的不同在于它不是多线程而是多进程。由于多线程可以共享堆内存,因此可以简单地采取内存作为标记存储位置。而多进程可能都不在同一台物理机上,就需要将标记存储在一个所有进程都能看到的地方。例如秒杀场景就是一个常见的多进程场景。订单服务部署了多个服务实例,如秒杀商品有 4 个,第一个用户购买 3 个,第二个用户购买 2 个,理想状态下第一个用户能购买成功,第二个用户提示购买失败,反之亦可。而实际可能出现的情况是,两个用户都得原创 2021-05-10 22:50:22 · 890 阅读 · 0 评论 -
etcd 笔记(07)— 键值对读写操作过程
1. 读写总体概述etcd 各个模块交互的总览,如下图所示:总体上的请求流程从上至下依次为客户端 → API 接口层 → etcd Server → etcd raft 算法库。读请求客户端通过负载均衡选择一个 etcd 节点发出读请求,API 接口层提供了 Range RPC 方法,etcd 服务端拦截到 gRPC 读请求后,调用相应的处理器处理请求。写请求客户端通过负载均衡选择一个 etcd 节点发起写请求,etcd 服务端拦截到 gRPC 写请求,涉及一些校验和监控,之后 KVS原创 2021-05-09 23:08:15 · 2814 阅读 · 3 评论 -
etcd 笔记(06)— Client 结构定义、客户端(初始化、KV存储Get、Put、事务 Txn、压缩 Compact、Watch、Lease
1. Client 定义Client 定义如下:type Client struct { Cluster KV Lease Watcher Auth Maintenance // 认证的用户名 Username string // 认证的密码 Password string}这里显示的都是可导出的模块结构字段,代表了客户端能够使用的几大核心模块,具体功能介绍如下。Cluster:向集群里增加 etcd 服务端节点之原创 2021-05-08 22:01:34 · 1475 阅读 · 0 评论 -
etcd 笔记(05)— etcd 代码结构、各模块功能、整体架构、各模块之间的交互、请求和应答流程
1. etcd 项目结构和功能etcd 项目代码的目录结构如下:$ tree├── auth├── build├── client├── clientv3├── contrib├── embed├── etcdctl├── etcdmain├── etcdserver├── functional├── hack├── integration├── lease├── logos├── mvcc├── pkg├── proxy├── raft├── scripts├─原创 2021-05-07 22:39:02 · 1524 阅读 · 0 评论 -
etcd 笔记(04)— etcd 网关与 gRPC 网关
1. etcd 网关etcd 网关是一个简单的 TCP 代理,可将网络数据转发到 etcd 集群。网关是无状态且透明的,它既不会检查客户端请求,也不会干扰集群响应,支持多个 etcd 服务器实例,并采用简单的循环策略。etcd 网关将请求路由到可用端点,并向客户端隐藏故障,使得客户端感知不到服务端的故障。1.1 适用场景我们使用客户端连接到 etcd 服务器时,每个访问 etcd 的应用程序必须知道所要访问的 etcd 集群实例的地址,即用来提供客户端服务的地址:ETCD_LISTEN_CLIENT原创 2021-05-06 22:02:50 · 2996 阅读 · 3 评论 -
etcd 笔记(03)— etcd 客户端使用(键值的增、删、改、查)、watch监测键、lease使用(创建租约、撤销租约、刷新租期、查询租期)
1. etcd 客户端etcdctl 是一个命令行客户端,便于我们进行服务测试或手动修改数据库内容,etcdctl 在两个不同的 etcd 版本(v2 和 v3)下的功能和使用方式也完全不同。一般通过如下方式来指定使用 etcd 的版本:export ETCDCTL_API=2export ETCDCTL_API=3在前面我们已经在 /tmp/etcd-download-test/ 安装了 etcd,那么就可以将当前的安装路径加到环境变量 PATH 中,如下:vi ~/.bashrc在最后原创 2021-04-28 22:36:49 · 4821 阅读 · 0 评论 -
etcd 笔记(02)— etcd 安装(apt 或 yum 安装 、二进制包安装、Docker 安装 etcd、etcd 前端工具 etcdkeeper、etcdv3-browser)
1. 使用 apt 或 yum 安装 etcd命令如下:sudo apt-get install etcd或者sudo yum install etcd这样安装的缺点是:安装的 etcd 版本过低为 2.2.5,该版本使用 Go 的版本为 1.6 如下所示:wohu@ubuntu-dev:~$ etcd2021-04-17 09:18:52.987281 I | etcdmain: etcd Version: 2.2.52021-04-17 09:18:52.987309 I | etc原创 2021-04-27 22:01:59 · 5654 阅读 · 2 评论 -
etcd 笔记(01)— etcd 简介、特点、应用场景、常用术语
1. etcd 简介etcd 官网定义:A highly-available key value store for shared configuration and service discovery.即一个用于配置共享和服务发现的键值存储系统。etcd 是一款分布式存储中间件,使用 Go 语言编写,并通过 Raft 一致性算法处理和确保分布式一致性,解决了分布式系统中数据一致性的问题。而且作为一款分布式、可靠的键值存储组件,etcd 常用于微服务架构中的服务注册与发现中心,相较于 ZooK原创 2021-04-26 22:40:10 · 10156 阅读 · 0 评论