首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏技术杂记

    etcd 基础10

    先进行比较,然后根据比较结果来决定是否进行后面的操作,可以用于构建分布式锁机制(协调服务)

    40310编辑于 2022-01-20
  • 来自专栏深度学习与python

    Etcd 客户端缓存实践

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

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

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

    Etcd Workbench我相信很多人在开始管理ETCD的时候都去搜了Etcd客户端工具,然后找到了官方的Etcd Manager,但用完之后发现它并不好用,还不支持多连接和代码格式化,并且已经好几年不更新了 ,于是市面上就有了好多其他客户端工具,Etcd Workbench就是其中为数不多好用且免费的一个,下面来介绍一下。 如果你的电脑是Windows,并且没有装Edge或者Webview2,那建议你先去微软官方下载安装Webview2(传送门:Webview2官方下载),桌面版程序依赖Webview2这个系统组件,通常Win10 App版支持了常规的身份认证和SSL连接,这个没什么说的,你按照提示添加相应证书就好了,这里需要提一下它同时还支持SSH Tunnel功能,这个是很多其他Etcd客户端没有的。 有什么需求或者Bug可以在GitHub提交issue,也可以直接联系这个客户端的作者。注:这篇文章是从本人 CSDN 原创文章搬运而来,如需转载请注明出处

    3.4K20编辑于 2024-11-16
  • 来自专栏golang算法架构leetcode技术php

    golang源码分析:etcd(10)

    分析完raft算法,回来看etcd server的代码就比较清晰了,我们从入口文件server/main.go开始 func main() { etcdmain.Main(os.Args 我们首先看下proxy的实现,它是基于cobra生成的一个简单命令server/etcdmain/gateway.go rootCmd = &cobra.Command{ Use: "etcd ", Short: "etcd server", SuggestFor: []string{"etcd"}, } 入口函数: func startGateway(cmd 中会进行etcd的初始化: func startEtcdOrProxyV2(args []string) { switch which { case dirMember: 的StartEtcd func StartEtcd(inCfg *Config) (e *Etcd, err error) { e = &Etcd{cfg: *inCfg, stopc: make

    49020编辑于 2023-09-09
  • 来自专栏aoho求索

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

    学习客户端etcd 服务端的通信以及 etcd 集群节点的内部通信接口对于我们更好地使用和掌握 etcd 组件很有帮助,也是所必需了解的内容。 etcd clientv3 客户端 etcd 客户端 clientv3 接入的示例将会以 Go 客户端为主,读者需要准备好基本的开发环境。 首先是 etcd clientv3 的初始化,我们根据指定的 etcd 节点,建立客户端etcd 集群的连接。 etcd 客户端初始化 解决完包依赖之后,我们初始化 etcd 客户端。 Lease:租约相关操作,比如申请一个 TTL=10 秒的租约。 Watcher:观察订阅,从而监听最新的数据变化。 Auth:管理 etcd 的用户和权限,属于管理员操作。

    2.1K30编辑于 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 查看及群里所有节点的详细信息

    4.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.2K20发布于 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 模块的 首先申请了一个过期时间设置为 5s 的 Lease;接着将 key foo绑定到该 Lease 上,为了方便看到结果,阻塞 10s。 小结 这一篇文章我们主要介绍了 etcd Lease 的实现,首先通过 etcdctl 命令行工具介绍了客户端如何使用 Lease 的使用方法;接着介绍了 Lease 实现的主要架构,描述了 Lease

    2.3K21编辑于 2022-12-03
  • 来自专栏mysql

    hhdb客户端介绍(10

    以MainSQLController为主,相关联的Controller为辅是程序的Control模块;

    18710编辑于 2025-04-01
  • 来自专栏加菲的博客

    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.7K21编辑于 2022-06-23
  • 来自专栏千里行走

    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.5K30发布于 2021-10-18
  • 来自专栏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.4K11发布于 2020-01-08
  • 来自专栏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 客户端下载 这里不建议使用 deleteResponse.Header.String()) // 申请租约 grantResponse, err := client.Grant(context.TODO(), 10

    1.3K20编辑于 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成员的广告对等网址同步初始集群配置。

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

    Debugging etcd

    etc debug

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

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

    etcd v2 watch 机制采用的是基于 HTTP/1.x 协议的客户端轮询机制,历史版本存储则是通过滑动窗口。 在大量的客户端连接的场景或者集群规模较大的场景,导致 etcd 服务端的扩展性和稳定性都无法保证。 当 etcd 收到客户端的 watch 请求,如果请求携带了 revision 参数,则比较请求的 revision 和 store 当前的 revision,如果大于当前 revision,则放入 synced 服务端处理监听 当 etcd 服务启动时,会在服务端运行一个用于处理监听事件的 watchServer gRPC 服务,客户端的 Watch 请求最终都会被转发到这个服务的 Watch 函数中: // isEmpty { tickc = time.After(10 * time.Millisecond) } select { case <-tickc: case <-s.victimc

    4.6K51编辑于 2022-04-28
  • 来自专栏花落的技术专栏

    etcd 详解

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

    2.5K00编辑于 2021-12-07
  • 来自专栏技术杂记

    etcd 基础

    前言 etcd 是一个分布式的,一致性键值存储,主要用于共享配置和服务发现 etcd is a distributed, consistent key-value store for shared configuration instance Reliable: properly distributed using Raft 它是使用 Go 开发的,Raft 算法是其一致性保障的核心 Tip: Raft 的相关细节可以参考 剖析 etcd 和 raft动画 这里简单分享一下 etcd 的基础 ,相关的详细内容可以参考 官方Git Tip: 当前的最新版本为 etcd v2.2.4 Note: The master branch may

    41230编辑于 2022-01-20
  • 来自专栏sktj

    Etcd 监控

    Malgun Gothic", "Segoe UI", "Trebuchet MS", Helvetica, monospace, monospace; display: block; padding: 10px <<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.

    84910发布于 2019-10-29
  • 来自专栏SRE运维进阶之路

    Etcd 概述

    etcd内部采用raft协议作为一致性算法,Etcd基于 Go 语言实现。 这些层的功能如下: Client层:Client层包括client v2和v3两个大版本API客户端库,提供了简洁易用的API,同时支持负载均衡、节点间故障自动转移,可极大降低业务使用etcd复杂度,提升开发效率 Member:一个etcd实例。它管理着一个Node,并且可以为客户端请求提供服务。 Cluster:由多个Member构成可以协同工作的etcd集群。 Peer:对同一个etcd集群中另外一个Member的称呼。 Client:向etcd集群发送HTTP请求的客户端。 WAL:预写式日志,etcd用于持久化存储的日志格式。 snapshot:etcd防止WAL文件过多而设置的快照,存储etcd数据状态。 Proxy:etcd的一种模式,为etcd集群提供反向代理服务。

    1.1K10编辑于 2024-04-23
领券