当前位置: 首页 > news >正文

东莞手机网站建设怎么选广州app网站建设

东莞手机网站建设怎么选,广州app网站建设,wordpress 3.4.2,负责公司网站的更新和维护概述 etcd 是一个高可用的分布式键值#xff08;key-value#xff09;数据库#xff0c;采用了更为简洁的Raft共识算法来实现数据强一致。基于Go语言实现#xff0c;主要用于共享配置和服务发现。 名称说明 名称说明etcd一种基于 raft 协议的分布式 kv 数据库#xff0…概述 etcd 是一个高可用的分布式键值key-value数据库采用了更为简洁的Raft共识算法来实现数据强一致。基于Go语言实现主要用于共享配置和服务发现。 名称说明 名称说明etcd一种基于 raft 协议的分布式 kv 数据库特点是数据强一致性常用于保存配置文件如作为 Kubernetes 的默认数据库etcd 即 etc distributed/etc 是操作系统的配置目录etcdctletcd 客户端命令行工具可以输入命令与 etcd 服务端交互如同 kubectl同k8s集群交互server服务端client客户端cluster集群etcd 是一个分布式数据库由多个节点构成一个集群作为一个整体提供数据库能力member集群成员其实就是一个 server 节点更侧重 raft 集群下各节点相互通信保证数据一致性的角度peer在同一个集群中一个 member 将其他 member 视为 peerendpoint服务节点其实就是一个 server 节点更侧重向 client 提供 API 调用的角度leader主节点etcd 集群中只有一个主节点所有写请求都会先到主节点由主节点同步数据给从节点follower从节点etcd 集群中可以有若干个revisionetcd 全局版本号从 1 开始每次操作数据都会增加snapshot快照保存某一时刻下的系统状态数据以便可以让 etcd 恢复到该时刻在此之前的 log 都可以删掉了wal预写日志Write Ahead Log类似 MySQL 的 redo log用于保证集群的一致性、可恢复性lease租约是客户端与服务端之间的约定约定内容是某段时间内数据必须保留过了这段时间数据可以删掉起到过期时间的作用checkpoints一种保障 lease 的技术手段leader 定期做 checkpoints同步给其他 member 理解etcd的特性 etcd 由多个节点组成一个集群只要成功向集群写入数据立刻可以读到刚刚写入的数据即使发生节点异常、网络分区故障。强一致性不是指集群内的所有节点在任意时刻状态一致而是指整个集群看起来像是只有一个数据副本读写操作都是原子的不用关心数据同步的。 etcd 内部通过 Raft 算法实现由该算法保证分布式、强一致性这种算法的原理可以参考 《Raft Understandable Distributed Consensus》 《Raft 容易理解的分布式共识算法》汉化版 主节点选举 etcd集群中有一个主节点leader负责写操作多个从节点follower负责读操作。主节点会发送心跳包给从节点从节点进行响应。从节点若超过一定时间一定范围内的随机值没有收到主节点的心跳包则认为主节点已不可用自身可成为候选主节点candidate发起投票若超过一半节点响应则可成为新的主节点可能会有几轮争夺。在每一轮投票中参与投票的所有节点只响应收到的第一个投票请求对后续请求不作响应。保证数据强一致性Raft 实现 写操作只能由主节点操作主节点将数据同步给从节点大多数从节点返回成功主节点认为成功。 读操作所有节点均可操作从节点先获取主节点的版本号如果版本落后就等一直等到版本追上返回数据。 etcd的发展 etcd 于 2013 年由 CoreOS 团队发起2015 年发布第一个正式稳定版本 2.02017 年发布 3.0这两个版本内部实现不同v2 写入的数据 v3 查不到。本文采用的版本是 比较新的版本3.3。 这里对比一下两个版本的一些区别也可以看出v3版本做出了哪些优化 v3版本使用 gRPC protobuf 取代 v2版本的http json 通信提高通信效率。gRPC 只需要一条连接http是每个请求建立一条连接建立连接会耗费大量时间protobuf 加解密比json加解密速度得到数量级的提升包体也更小。 v3 使用 lease 租约替换v2中key ttl自动过期机制后面会介绍。 v3 是支持事务和多版本并发控制mvcc解决一致性非锁定读的问题的磁盘数据库而 v2 是简单的kv内存数据库 v3 是扁平的kv结构v2是类型文件系统的存储结构类似zookeeper的存储结构。v3版本使用__prefix前缀索引的方式实现了以往v2版本实现的文件系统的存储结构。 etcd 服务使用测试 关于etcd集群搭建在这就省略了大家可以自己搭建单节点的集群测试。我就使用之前搭建kubernetes集群时使用的etcd服务。 为方便使用先设置一下 etcd_v2/ etcd_v3的别名大家可以根据自己集群的实际情况设置 cat EOF /etc/profile.d/etcd.sh alias etcd_v2etcdctl --cert-file /etc/kubernetes/pki/etcd/healthcheck-client.crt \--key-file /etc/kubernetes/pki/etcd/healthcheck-client.key \--ca-file /etc/kubernetes/pki/etcd/ca.crt \--endpoints https://192.168.2.140:2379,https://192.168.2.141:2379,https://192.168.2.142:2379alias etcd_v3ETCDCTL_API3 \etcdctl \--cert /etc/kubernetes/pki/etcd/healthcheck-client.crt \--key /etc/kubernetes/pki/etcd/healthcheck-client.key \--cacert /etc/kubernetes/pki/etcd/ca.crt \--endpoints https://192.168.2.140:2379,https://192.168.2.141:2379,https://192.168.2.142:2379 EOF source /etc/profile.d/etcd.sh然后测试读写 [rootk8s-m1 tmp]# etcd_v3 put aaa 111 OK [rootk8s-m1 tmp]# etcd_v3 get aaa aaa 111etcd 保存的数据有版本号可以指定版本读取历史数据如果不压缩清除历史版本的数据如果不指定默认读取最大版本的数据 写数据 [rootk8s-m1 tmp]# etcd_v3 put aaa 222 -w json {header:{cluster_id:9189981678766318811,member_id:7409550525054359918,revision:89481299,raft_term:267804}} [rootk8s-m1 tmp]# etcd_v3 put aaa 333 -w json {header:{cluster_id:9189981678766318811,member_id:1864273196654539866,revision:89481333,raft_term:267804}}指定版本读取读数据 [rootk8s-m1 tmp]# etcd_v3 get aaa --rev89481299 aaa 222 [rootk8s-m1 tmp]# etcd_v3 get aaa --rev89481333 aaa 333 #默认最新 [rootk8s-m1 tmp]# etcd_v3 get aaa aaa 333查看数据 插入一些测试数据 [rootk8s-m1 tmp]# etcd_v3 put bbb 444 [rootk8s-m1 tmp]# etcd_v3 put ccc 555 [rootk8s-m1 tmp]# etcd_v3 put ddd 666 [rootk8s-m1 tmp]# etcd_v3 put eee 777 [rootk8s-m1 tmp]# etcd_v3 put fff 888 [rootk8s-m1 tmp]# etcd_v3 put aa1 999 [rootk8s-m1 tmp]# etcd_v3 put aa2 1010 [rootk8s-m1 tmp]# etcd_v3 put cc1 1111 [rootk8s-m1 tmp]# etcd_v3 put dd2 1212按key前缀查看 [rootk8s-m1 tmp]# etcd_v3 get --prefix aa aa1 999 aa2 1010 aaa 333按key的字节排序的前缀查找 [rootk8s-m1 tmp]# etcd_v3 get --from-key aaa aaa 333 bbb 444 cc1 1111 ccc 555 compact_rev_key 89481477 dd2 1212 ddd 666 eee 777 fff 888 foo bar2按key的字节排序区间查找 value [rootk8s-m1 tmp]# etcd_v3 get ccc eee ccc 555 compact_rev_key 89481477 dd2 1212 ddd 666查找所有key #key太多查看起来很不方便 [rootk8s-m1 tmp]# etcdctl get --from-key 删除数据 删除指定key #返回1 代表正常删除key的数量 [rootk8s-m1 tmp]# etcd_v3 del aa1 1删除key时并返回被删除的键值对 [rootk8s-m1 tmp]# etcd_v3 del aa2 --prev-kv 1 aa2 1010删除指定前缀的key #删除了2个 [rootk8s-m1 tmp]# etcd_v3 del --prefix cc 2删除所有数据 #危险操作谨慎 [rootk8s-m1 tmp]# etcd_v3 del --prefix 更新数据 [rootk8s-m1 tmp]# etcd_v3 get aaa aaa 333 [rootk8s-m1 tmp]# etcd_v3 put aaa test OK [rootk8s-m1 tmp]# etcd_v3 get aaa aaa test更多常用操作 #只查看所有的key [rootk8s-m1 tmp]# etcd_v3 get / --prefix --keys-only #查看节点 [rootk8s-m1 tmp]# etcd_v3 member list 19df3a9852e0345a, started, etcd0, https://192.168.2.140:2380, https://192.168.2.140:2379 3bb3629d60bef3f6, started, etcd2, https://192.168.2.142:2380, https://192.168.2.142:2379 66d402f1ef2c996e, started, etcd0, https://192.168.2.141:2380, https://192.168.2.141:2379 #查看节点状态 [rootk8s-m1 tmp]# etcd_v3 endpoint health https://192.168.2.141:2379 is healthy: successfully committed proposal: took 3.200938ms https://192.168.2.140:2379 is healthy: successfully committed proposal: took 3.421955ms https://192.168.2.142:2379 is healthy: successfully committed proposal: took 1.915926ms记不住命令的可以通过etcd_v3 -h查看帮助选项备份恢复 #备份只需要在一台上执行 ETCDCTL_API3 etcdctl --cert /etc/kubernetes/pki/etcd/healthcheck-client.crt --key /etc/kubernetes/pki/etcd/healthcheck-client.key --cacert /etc/kubernetes/pki/etcd/ca.crt --endpoints https://192.168.2.140:2379,https://192.168.2.141:2379,https://192.168.2.142:2379 snapshot save test.db#恢复三个节点都需要执行 ETCDCTL_API3 etcdctl --name k8s-m1 --initial-advertise-peer-urls https://192.168.2.140:2380 --initial-cluster k8s-m1https://192.168.2.140:2380,k8s-m2https://192.168.2.141:2380,k8s-m3https://192.168.2.142:2380 snapshot restore /root/test.db --data-dir/var/lib/etcd/更多关于kubernetes的知识分享请前往博客主页。编写过程中难免出现差错敬请指出
http://www.pierceye.com/news/965009/

相关文章:

  • 开网站需要投资多少钱网站设计两边为什么要留白
  • 任丘市做网站价格泰州网络科技有限公司
  • wap网站使用微信登陆推广公司有哪些
  • 深圳分销网站设计制作买了winhost网站空间在哪里登陆
  • 培训网站项目ppt怎么做wordpress主题4mudi
  • 上海专业网站建设市场网站开发验收报告
  • 怎么做网站视频教程做广告牌子
  • 合肥做网站公网站设网页设计
  • 罗田做网站凡科网小程序
  • 玻璃钢产品哪个网站做推广好.加强网站安全建设
  • 扬州公司网站建设网络建设与管理包括哪些方面
  • 我的网站域名福州网站的优化
  • 威海市网站建设微信在线登录平台
  • 2014网站设计成都网站设计合理柚v米科技
  • 建设自己网站需要多钱网站规划与设计就业
  • 用flash做的网站欣赏手机网站图片切换jquery
  • 昆明做网站seo网站推广策略什么时候
  • 网站添加 百度商桥wordpress 友情链接 代码
  • 一鸿建设设计网站百家号排名
  • 网站最新一次改版时间什么意思电商平台应该如何推广
  • 网站设计制作程序网站开发列表
  • 企业网站建设需要哪些费用做算法的网站
  • 很大气的网站 营销js特效网站展示
  • 南宁建站程序成都新线加网站建设
  • 用微软雅黑做网站可以吗wordpress游客发帖插件
  • 网站备案怎样提交管局网页电商设计
  • 郑州华恩科技做网站怎么样网络竞价推广托管公司
  • 都江堰住房和城乡建设厅网站哈尔滨网站建设方案维护
  • 九江网站网站建设原始传奇经典复古
  • 宽屏营销型网站源码安微省住房和城乡建设厅网站