首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏深度学习与python

    Etcd 客户端缓存实践

    Etcd Watch 机制 在启用缓存之后就会面临本地缓存更新的问题,因为 etcd 是一个分布式的 KV 存储,允许多个客户端并发操作并保证一致性,那么如果其他客户端更新了 etcd 中的数据,那么如何更新本客户端本地缓存中的数据呢 etcd客户端的负担。 幸运的是 etcd 提供了 watch 机制可以克服轮询方案的弊端。etcd 的 watch 机制允许客户端告诉 etcd 它要关注的 key,如果该 key 有任何修改,etcd 会通知客户端客户端缓存的实现 有了 etcd 的 watch 机制和 revision 我们就可以实现一个客户端的缓存。 总    结 本文介绍了如何基于 etcd 的 watch 机制来实现客户端缓存,有了客户端缓存,极大地降低了访问 etcd 的延迟并提高了吞吐,非常适合读多写少的场景。

    1.1K20编辑于 2023-03-29
  • 来自专栏北风IT之路

    推荐一款ETCD桌面客户端——Etcd Workbench

    Etcd Workbench我相信很多人在开始管理ETCD的时候都去搜了Etcd客户端工具,然后找到了官方的Etcd Manager,但用完之后发现它并不好用,还不支持多连接和代码格式化,并且已经好几年不更新了 ,于是市面上就有了好多其他客户端工具,Etcd Workbench就是其中为数不多好用且免费的一个,下面来介绍一下。 App版支持了常规的身份认证和SSL连接,这个没什么说的,你按照提示添加相应证书就好了,这里需要提一下它同时还支持SSH Tunnel功能,这个是很多其他Etcd客户端没有的。 如果你有一些连接信息需要迁移到别的设备的Etcd Workbench,可以在这里导出连接配置为一个文件,到另一台电脑里面打开Etcd Workbench同样在这里选择导入配置即可完成配置迁移。 有什么需求或者Bug可以在GitHub提交issue,也可以直接联系这个客户端的作者。注:这篇文章是从本人 CSDN 原创文章搬运而来,如需转载请注明出处

    1.8K20编辑于 2024-11-16
  • 来自专栏aoho求索

    etcd通信接口:客户端 API 实践与核心方法

    学习客户端etcd 服务端的通信以及 etcd 集群节点的内部通信接口对于我们更好地使用和掌握 etcd 组件很有帮助,也是所必需了解的内容。 本文我们将会介绍 etcd 的 gRPC 通信接口以及客户端的实践。 etcd clientv3 客户端 etcd 客户端 clientv3 接入的示例将会以 Go 客户端为主,读者需要准备好基本的开发环境。 首先是 etcd clientv3 的初始化,我们根据指定的 etcd 节点,建立客户端etcd 集群的连接。 etcd 客户端初始化 解决完包依赖之后,我们初始化 etcd 客户端

    1.8K30编辑于 2022-06-23
  • 来自专栏Redis管理

    Etcd 可视化管理工具,GUI 客户端

    Etcd Assistant——Etcd 可视化管理工具,GUI 客户端下载地址:http://www.redisant.cn/etcd主要功能:支持多标签页,同时连接到多个集群以漂亮的格式显示JSON 、XML、MessagePack、十六进制等数据格式浏览、创建、编辑、删除键导出和导出数据键的展示支持多种视图:树状视图或列表视图支持基于用户名和密码的基本身份验证、HTTPS客户端证书认证支持 HTTP 和 HTTPS 连接显示 etcd 集群及其节点的基本信息管理租约:列出和撤销租约,查看详细信息管理用户:创建、更新或删除用户管理角色和权限:创建、更新删除角色软件截图快速连接到您的 Etcd 集群并开始工作 Etcd Assistant 可以连接 etcd v3 集群,支持基本认证、TLS证书认证、支持 SSL/TLS 安全连接;随时查看您的 etcd 健康指标图片支持丰富的数据格式Etcd Assistant 会自动识别并格式化不同的数据格式,包括Text、JSON、XML、HEX、MessagePack,以及各种整数、浮点类型图片管理集群成员、租约和用户通过 Etcd Assistant 查看及群里所有节点的详细信息

    4K40编辑于 2023-04-26
  • 来自专栏solate 杂货铺

    etcd v2文档(4) -- 客户端http请求管理etcd 版本号和节点状态

    ,赢百万奖金......了解更多详情>>> 获得etcd 版本号 可以从/version端点获取特定实例的etcd版本。 curl -L http://127.0.0.1:2379/version etcd 2.0.12 检查一个etcd成员节点的健康状况 etcd提供了一个/health端点来验证特定成员的运行状况。

    1.1K20发布于 2019-07-19
  • 来自专栏aoho求索

    etcd Lease:etcd 如何实现租约?

    它类似 TTL(Time To Live),用于 etcd 客户端与服务端之间进行活性检测。在到达 TTL 时间之前,etcd 服务端不会删除相关租约上绑定的键值对;超过 TTL 时间,则会删除。 因此我们需要在到达TTL时间之前续租,以实现客户端与服务端之间的保活。 Lease 也是 etcd v2 与 v3 版本之间的重要变化之一。 下图是客户端创建一个指定 TTL 的租约流程,当 etcd 服务端的 gRPC Server 接收到创建 Lease 的请求后,Raft 模块首先进行日志同步;接着 MVCC 调用 Lease 模块的 客户端创建一个指定 TTL 租约流程图 那么 Lease 与键值对是如何绑定的呢? 客户端根据返回的 LeaseID,在执行写入和更新操作时,可以绑定该 LeaseID。 小结 这一篇文章我们主要介绍了 etcd Lease 的实现,首先通过 etcdctl 命令行工具介绍了客户端如何使用 Lease 的使用方法;接着介绍了 Lease 实现的主要架构,描述了 Lease

    1.8K21编辑于 2022-12-03
  • 来自专栏加菲的博客

    etcdetcd使用与集群搭建

    etcd就能充当一个服务字典的角色,服务上线去往etcd进行注册,etcd与服务之间维持一个心跳,保证服务是否可用。 ; 数据持久化:etcd默认数据一更新就进行持久化; 安全:etcd支持SSL客户端安全认证。 3.etcd架构 etcd分为四个部分: HTTP Server:用于处理用户发送的API请求以及其他etcd节点的同步与心跳请求; Store:用于处理etcd所支持的各类功能的事务,包括 数据索引 ,同龄人,所以指代的是节点之间 --advertise-client-urls 2379 客户端连接 --initial-cluster:初始化一个集群 在n2节点执行命令以启动etcd etcd - initial-cluster-state ${CLUSTER_STATE} --initial-cluster-token ${TOKEN} 使用集群 集群就算搭建好了,集群中的节点通过2380端口彼此通信,通过2379与客户端通信

    1.4K20编辑于 2022-06-23
  • 来自专栏python3

    搭建etcd集群,python调etcd

    etcd/etcd.conf 修改内容如下: # [member] ETCD_NAME=master1      #本机的主机名 ETCD_DATA_DIR="/var/lib/etcd/default.etcd "    #etcd的数据存储路径 #ETCD_WAL_DIR="" #ETCD_SNAPSHOT_COUNT="10000" #ETCD_HEARTBEAT_INTERVAL="100" #ETCD_ELECTION_TIMEOUT /0.0.0.0:2379,http://0.0.0.0:4001"  #监听etcd客户端的地址 #ETCD_MAX_SNAPSHOTS="5" #ETCD_MAX_WALS="5" #ETCD_CORS 启动etcd集群 并设置开机启动 systemctl start etcd && systemctl enable etcd python调etcd的接口 安装etcd3的模块 pip install  etcd3 import etcd3 #往etcd中存数据 client = etcd3.client(host='192.168.133.140')   #连接etcd r  = client.put

    3.1K11发布于 2020-01-08
  • 来自专栏千里行走

    etcd-1:部署etcd集群

    目录 (1).下载 (2).etcd配置文件与启动 1.etcd启动参数说明 2.启动脚本模版 3.启动etcd集群 (3).验证etcd集群 (4).参考资料 一共3台机器。 每台机器部署一个etcd实例:etcd-master1、etcd-master2、etcd-master3。 统一在用户app下操作,这是良好习惯。 \ #和集群内其他节点通信的地址, http://ip:2380 --listen-peer-urls=http://etcd-current-master-node:2380 \ #节点与客户端通信的地址 ,比如 http://ip:2379,http://127.0.0.1:2379,客户端会连接到这里和 etcd 交互 --listen-client-urls=http://etcd-current-master-node :2379,http://127.0.0.1:2379 \ #对外通告的该节点客户端监听地址,http://ip:2379,这个值会通知集群中其他节点 --advertise-client-urls=http

    1.3K30发布于 2021-10-18
  • 来自专栏LinkinStar's Blog

    浅入深出ETCD之【集群部署与golang客户端使用】

    之前说了etcd的简介,命令行使用,一些基本原理。这次来说说现实一点的集群部署和golang版本的客户端使用。 # 供外部客户端使用的url listen-client-urls: http://192.168.4.225:2379,http://127.0.0.1:2379 # 广播给外部客户端使用的url advertise-client-urls https://doczhcn.gitbook.io/etcd/index/index-1/clustering Golang客户端使用 这里来实际用代码操作一下etcd,还是和之前使用命令行一样,get /put/del/watch/lease用一下这些操作,其他操作请查看doc https://godoc.org/github.com/coreos/etcd/clientv3 客户端下载 这里不建议使用 main() { // 配置客户端连接 client, err := clientv3.New(clientv3.Config{ // Endpoints: []string

    1.1K20编辑于 2022-09-01
  • 来自专栏solate 杂货铺

    etcd v2文档(5)--客户端https--安全

    安全模型 etcd通过客户端证书支持SSL/TLS以及身份验证,客户端到服务器以及对等(服务器到服务器/群集)通信。 首先需要为一个成员拥有一个CA证书和一个已签名的密钥对。 必须加密 --client-cert-auth: etcd将检查由受信任CA签名的客户端证书的所有传入HTTPS请求,否则不提供有效客户端证书的请求将失败。 如果提供了客户端到服务器或对等证书,则还必须设置密钥。 所有这些配置选项也可以通过环境变量ETCD_CA_FILE,ETCD_PEER_CA_FILE等来实现。 示例2:使用HTTPS客户端证书的客户端到服务器身份验证 现在我们给了etcd客户端验证服务器身份和提供传输安全性的能力。 然而,我们也可以使用客户端证书来防止未经授权的访问等等。 它将客户端请求转发到etcd成员的广告客户端URL,并通过etcd成员的广告对等网址同步初始集群配置。

    2.8K10发布于 2019-07-22
  • 来自专栏云计算与大数据

    Debugging etcd

    etc debug

    62020发布于 2019-04-25
  • 来自专栏aoho求索

    etcd watch:etcd 如何实现 watch 机制?

    你好,我是 aoho,今天我和你分享的主题是 etcd watch:etcd 如何实现 watch 机制? etcd v2 和 v3 版本之间的重要变化之一就是 watch 机制的优化。 etcd v2 watch 机制采用的是基于 HTTP/1.x 协议的客户端轮询机制,历史版本存储则是通过滑动窗口。 在大量的客户端连接的场景或者集群规模较大的场景,导致 etcd 服务端的扩展性和稳定性都无法保证。 当 etcd 收到客户端的 watch 请求,如果请求携带了 revision 参数,则比较请求的 revision 和 store 当前的 revision,如果大于当前 revision,则放入 synced 服务端处理监听 当 etcd 服务启动时,会在服务端运行一个用于处理监听事件的 watchServer gRPC 服务,客户端的 Watch 请求最终都会被转发到这个服务的 Watch 函数中: //

    4.2K51编辑于 2022-04-28
  • 来自专栏云计算与大数据

    Debugging etcd

    etc debug

    80020发布于 2019-04-08
  • 来自专栏sktj

    Etcd 维护

    1、设置保留历史时间 --auto-compaction-retention 保持一个小时的历史 $ etcd --auto-compaction-retention=1 压缩到修订版本3 $ etcdctl initial-cluster m1=http:/host1:2380,m2=http://host2:2380,m3=http://host3:2380 --initial-cluster-token etcd-cluster etcd --name m2 --listen-client-urls http://host2:2379 --advertise-client-urls http://host2:2379 --listen-peer-urls http://host2:2380 & $ etcd --name m3 --listen-client-urls http://host3:2379 advertise-client-urls http://host3:2379 --listen-peer-urls http://host3:2380 & 5、配置空间配额 设置非常小的 16MB 配额 $ etcd

    2.5K20发布于 2019-10-29
  • 来自专栏CNCF

    etcd项目

    名称:etcd 类型:键/值存储 说明:etcd是一个分布式键值存储,用于分布式系统的最关键数据。etcd提供了一种可靠的方法,可以在一组机器上存储数据,具有最佳的稳定性、可靠性、可伸缩性和性能。 有关谁参与以及etcd扮演角色的详细信息,请阅读etcd项目建议书。 https://github.com/cncf/toc/blob/master/proposals/etcd.adoc 网站/代码: https://github.com/etcd-io/etcd 文档 : https://github.com/etcd-io/etcd/blob/master/Documentation/docs.md https://etcd.readthedocs.io/en/latest / 错误和功能请求: https://github.com/etcd-io/etcd/issues 即时交流: IRC:freenode.org上的#etcd 论坛/邮件列表: https://stackoverflow.com

    59420发布于 2019-12-05
  • 来自专栏小石头

    etcd 命令

    password] 用户名和密码验证信息 –timeout ‘1s’ 请求的连接超时,默认为1s –total-timeout ‘5s’ 命令执行总超时,默认为5s –version, -v 打印版本信息 etcd 命令预览 etcd支持的命令大体上可以分为两类,数据类操作、非数据类操作 数据类操作 命令 说明 set 设置键对应的值 get 获取键对应的值 update 更新键对应的值 mk 创建新的值 rm 删除键值或目录 删除空目录或者一个键值 setdir 创建目录(允许目录已经存在) updatedir 更新已经存在的目录 非数据类操作 命令 说明 backup 备份指定的目录 cluster-health 检查etcd ~]# ---- 非数据类操作 1. backup --data-dir value 数据目录路径 --wal-dir value Path to the etcd /etcd.conf |grep data-dir data-dir: "/opt/etcd_data" [root@node2 ~]# ls /opt/etcd_data member [root@node2

    63120编辑于 2022-11-10
  • 来自专栏SRE运维进阶之路

    Etcd 监控

    监控etcd成员节点的状态可以帮助你了解集群中节点的健康状况,发现掉线或者异常节点。 健康状态 主从状态 健康状态 etcd leader切换统计 频繁的领导者变更会严重影响 etcd 的性能。 监控丢失的心跳可以帮助你发现etcd节点之间的通信问题或者网络延迟。 RED 方法 QPS RED 方法 请求错误率 监控etcd的错误率可以帮助你发现etcd操作中的潜在问题。 RED 方法 请求延迟 监控etcd的请求延迟可以帮助你了解API请求的处理时间。较高的延迟可能表明etcd正面临负载压力或性能问题。 RED 方法 快照处理时间 etcd定期创建快照以备份数据。监控快照处理时间可以帮助你了解etcd备份的性能,确保备份任务能够及时完成。 RED 方法 watcher 数量 监控etcd集群当前连接到etcd客户端数量。如果连接数过高,可能需要调整etcd的配置或者增加集群的容量。

    59720编辑于 2023-06-21
  • 来自专栏sktj

    Etcd 监控

    prometheus Prometheus Running a Prometheus monitoring service is the easiest way to ingest and record etcd <<EOF global: scrape_interval: 10s scrape_configs: - job_name: test-etcd static_configs: - targets: \ -web.listen-address ":9090" \ -storage.local.path "test-etcd.data" >> /tmp/test-etcd.log 2>&1 & </ pre> Now Prometheus will scrape etcd metrics every 10 seconds. to be my-etcd.

    67710发布于 2019-10-29
  • 来自专栏花落的技术专栏

    etcd 详解

    为了提高读写效率,etcd会维护一个写事务的缓存队列,当队列大小达到一定数或者离上次已经过了一定的时间后,才会真正将数据写到磁盘上。 存储总结 数据从客户端提交到Etcd后,会经过3个存储的地方。 在etcd实现中,会一直到数据apply到状态机之后,才会返回结果给客户端。在Propose()方法中,raft会将请求封装成一个MsgProp消息并调用Step函数。 中只允许Leader处理数据变更请求,所以如果是Follower收到客户端的命令,会直接转给leader处理,然后等待Leader的反馈后将结果返回给客户端。 return nil } Raft协议是一个基于日志复制的协议,所以客户端数据变更请求会封装成一条日志条目。 到此为止,客户端的这条数据更新命令,就正式提交了。下面就看一下,数据是怎样写到DB中的。

    2.1K00编辑于 2021-12-07
领券