Etcd是什么

2024-05-10 20:58
文章标签 etcd

本文主要是介绍Etcd是什么,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最近在把服务迁移到云上(docker+k8s)的时候,发现k8s是基于etcd做分布式资源管理的,etcd和zk在的核心都是做分布式服务的注册中心(统一资源配置),用法上略有不同。

从官网上来看:

ETCD:

etcd is a strongly consistent, distributed key-value store that provides a reliable way to store data that needs to be accessed by a distributed system or cluster of machines. It gracefully handles leader elections during network partitions and can tolerate machine failure, even in the leader node.

Applications of any complexity, from a simple web app to Kubernetes, can read data from and write data into etcd.

Your applications can read from and write data into etcd. A simple use case is storing database connection details or feature flags in etcd as key-value pairs. These values can be watched, allowing your app to reconfigure itself when they change. Advanced uses take advantage of etcd’s consistency guarantees to implement database leader elections or perform distributed locking across a cluster of workers.

etcd is open source, available on GitHub, and backed by the Cloud Native Computing Foundation.

etcd是为一个需要被分布式系统或集群提供了强一致性分布式键值数据库,它优雅的处理了当出现网路阻断也能容忍机器宕机(哪怕是leader结点)。

任何复杂度的应用,一个简单的web界面到k8s,都可以在etcd上读写数据。

你的应用可以再etcd上读写数据。一个简单的例子就是保存数据库连接信息或者特殊的数据的键值在etcd上。这些值可以被监听,当配置变化的时候你的app可以重新配置。适当的采用etcd的一致性优势可以用来保证数据库选举或者对一组工作施加分布式锁。

ETCD提供https协议的的restful风格的接口,1000并发,选举采用raft算法。

 

ZK:

Apache ZooKeeper is an effort to develop and maintain an open-source server which enables highly reliable distributed coordination.

ZK是一个致力于开发和维护一个开源高可用可信赖的分布式一致服务。

ZK解决了一个痛点,在zk出来之前,大量不同形式的分布式系统都有各自的分布式同步工具,不同的配置中心,比较混乱而且难以维护。ZK用了一套简单的接口实现了中心化的一致性服务。

ZKClient和ZKServer之间采用Socket连接(四层协议)

这篇关于Etcd是什么的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/977538

相关文章

Golang使用etcd构建分布式锁的示例分享

《Golang使用etcd构建分布式锁的示例分享》在本教程中,我们将学习如何使用Go和etcd构建分布式锁系统,分布式锁系统对于管理对分布式系统中共享资源的并发访问至关重要,它有助于维护一致性,防止竞... 目录引言环境准备新建Go项目实现加锁和解锁功能测试分布式锁重构实现失败重试总结引言我们将使用Go作

etcd-io/gofail 介绍与源代码分析(一)

gofail FreeBSD failpoints 的 Golang 版本实现 通过代码或者环境变量,其允许程序在特定的地方动态地注入错误或者其他行为 Github 地址: https://github.com/etcd-io/gofail gofail 工作原理 在具体的代码点加入// gofail:特殊格式的注释(插桩)使用 gofail 工具,把这些桩动态替换为其他代码从而编译出具

etcd配置详解

参数名称含义–name ‘default’本member的名字–data-dir指定节点的数据存储目录–listen-peer-urls本member侧使用,用于监听其他member发送信息的地址–listen-client-urls本member侧使用,用于监听etcd客户发送信息的地址–wal-dir专用wal目录的路径–snapshot-count要将快照触发到磁盘的已提交事务数–heart

centos7 etcd 3.4.10安装

下载地址:https://github.com/etcd-io/etcd/releases tar -zxvf etcd-v3.4.10-linux-amd64.tar.gz -C /usr/local/etcd #文件名换成自己的 cp /usr/local/etcd/etcd /usr/bin/ cp /usr/local/etcd/etcdctl /usr/bin/ 添加配置文件个工作目

关于 etcd lease,以下说法正确的是?

关于 etcd lease,以下说法正确的是? A. etcd 创建 lease 对象时,需要指定一个时间作为其超时时间。 B. lease 对象被创建后,超过设定的时间一定会被系统自动回收。 C. 将 key 关联到 lease 对象上,当 lease 对象超时后,key 会被系统自动回收。 D. etcd 支持将多个 key 关联到同一个 lease 对象上,从而大幅降低刷新 lease 的性

容器网络(桥接、host、none)及跨主机网络(etcd、flannel、docker)

1.本地网络 1.bridge         所有容器连接到桥就可以使用外网,使用nat让容器可以访问外网,使用ip a s指令查看桥,所有容器连接到此桥,ip地址都是 172.17.0.0/16网段,桥是启动docker服务后出现,在centos使用bridge-utils安装。 下载bridge-utils [root@docker0 ~]# yum -y install bridg

快速学习安装使用etcd

1. 什么是 etcd? etcd 是一个分布式键值存储系统,主要用于分布式系统的配置管理和服务发现。它提供了可靠的数据存储,etcd 可以用来构建高可用的分布式键值数据库,根据官网介绍并且支持分布式锁、Leader 选举等功能,通常被用作微服务架构中的注册中心。在目前go的大部分组件还有框架中都被采用为注册中心组件 相当于zookper和redis 2. 安装 etcd 2.1. 在本地安

Kubernetes 外部 etcd 集群的快速 Docker Compose 部署指南

一、背景 在高可用 Kubernetes 部署中,需要单独部署外部 etcd 集群,而不是使用 kubeadm 默认在 master 节点上部署的 etcd。以下是关于这一配置场景的详细记录。 二、etcd简介 etcd 是一个高可用的分布式键值存储系统,主要用于存储和管理配置信息、服务发现信息以及其他重要的元数据。etcd 是由 CoreOS 开发的,基于 Raft 共识算法来保证数据的一

[etcd]raft总结/选举/数据同步,协议缺陷与解决/Multi Raft

raft协议是multi paxos协议的实现.Etcd、Consu都使用了raft 1.角色 raft协议中包含这几种角色 领导者:带头大哥1.提出提议,但是不需要确认,因为我是大哥;2.复制日志,数据以大哥为准,3,领导者会定时发送心跳,确定自己的位置.告诉小弟老实呆着,一旦心跳超时,小弟就会重新选举大哥. 跟随者:只要大哥发送心跳,我就老实的同步日志.一旦没有心跳,我就变成候选人,开

Kubernetes中如何对etcd进行备份和还原

​ ​ 您好,我是程序员小羊! 前言 在Kubernetes集群中,etcd是核心的分布式键值存储系统,负责存储集群的所有配置数据和状态信息。为了确保Kubernetes集群的稳定性和可恢复性,定期备份和正确的恢复etcd数据是至关重要的。本指南将详细介绍如何在Kubernetes中对etcd进行备份和还原,包括使用etcdctl工具的具体步骤和一些注意事项。 一、etcd备份的重要