etcd是一个K/V分布式存储,每个节点都保存完成的一份数据。有点类似redis。但是etcd不是数据库。

1.先说废话。之所以会用etcd,并不是实际项目需要,而是前面自己写的上传的DBCacheServer服务部署集群的解决方案,想了解服务功能。可以阅读前一篇博文,其实我就是想给大家提供一个查询数据库的服务,能够简化我们一些功能。

最开始我打算使用zokkeeper,因为使用广泛,但是利用这一段学习时间,我在网上查阅了相关资料,采用了consul,因为开箱即用,什么都是好的,并且单文件很适合,我又不需要那么复杂,简单试了一把后放弃了。其余不说,反正就是我只需要简单的,不需要去填坑。最后我看了etcd。感觉合适,最后采用了它,简单可用。如果有兴趣的话建议看下《etcd技术内幕》这本书。

2.etcd使用

(1)以我整理的配置模板说明,更加详细的要自己研究,先看图

1.如果是单个节点,屏蔽掉自己的地址注解后的所有项

2.集群部署的2种方式:(1).静态部署,将所有节点都写在initial-cluster项后面,然后启动。必须全部启动集群才启动

(2)etcd方式发现,需要有一个已经部署好的独立集群A,新建集群B以A的一个节点建立一个发现URL:

注册命令:curl -X PUT http://192.168.3.107:2379/v2/keys/discovery/cluster_DBCacheServer/size -d value=3 ,其中3是size的值,就是说明要建立的集群B有3个节点,节点全部启动集群才能给启动。v2/keys/discovery可以看做是一个固定值。其后是一个唯一标识,只要保持唯一即可,官网中的例子是一个16进制字符串。然后将该地址填写到discovery项后。

如果想采用此方式,必须先有A集群,如果你只是为了注册,可以采用静态集群部署一个单集群节点。

(3)DNS发现请自己查阅官网说明

(4)扩展节点,官网文档有说明,执行:etcdctl member add infra3 http://192.168.3.108:2380,然后启动etcd.

3.etcd客户端,官网查看,如果找不到就到处搜索。

一个java客户端支持V3的

<dependency>
    <groupId>com.coreos</groupId>
    <artifactId>jetcd-core</artifactId>
    <version>0.0.2</version>
</dependency>

另外说说几种集群发现

1.比较https://www.cnblogs.com/fei33423/p/7996359.html

我就不详细说了,很多程序员陷入了一个怪圈,一旦出现的几种相同组件,总想比较出谁是最优先的。但是佛说存在即是合理的,我也相信佛说的。但是通过这次我的入坑。我想说当你不怎么了解的时候,可以都去尝试下。由于各自的业务不同,合适的就是最好的。如果说谁包含了谁,那就是谁给你比较全面而已。我开始就是采用的consul。最后抛弃了,主要是它全面但是对我没有用,而且部署看起来不方便,还有一些原因让我放弃而采用了etcd.封装完整就意味灵活低,反正看自己使用。但是etcd实现了基本的分别存储,分布式锁。尤其是watch是相当重要的,很有扩展,而且可以监视,查询子目录。以最基础的东西,自己的发挥空间就大。封装完善的简单使用,功能强大,只能说各有特点。大家自己仔细斟酌吧。euerka已经不开源了,小用户就别用了。如果etcd能够基本满足你,建议使用

etcd部署说明的更多相关文章

  1. etcd部署简单说明

    etcd是一个K/V分布式存储,每个节点都保存完成的一份数据.有点类似redis.但是etcd不是数据库. 1.先说废话.之所以会用etcd,并不是实际项目需要,而是前面自己写的上传的DBCacheS ...

  2. kubeadm使用外部etcd部署kubernetes v1.17.3 高可用集群

    文章转载自:https://mp.weixin.qq.com/s?__biz=MzI1MDgwNzQ1MQ==&mid=2247483891&idx=1&sn=17dcd7cd ...

  3. kubeadm 使用 Calico CNI 以及外部 etcd 部署 kubernetes v1.23.1 高可用集群

    文章转载自:https://mp.weixin.qq.com/s/2sWHt6SeCf7GGam0LJEkkA 一.环境准备 使用服务器 Centos 8.4 镜像,默认操作系统版本 4.18.0-3 ...

  4. 通过docker-machine和etcd部署docker swarm集群

    本片文章介绍一下 使用docker-machine 搭建docker swarm 集群:docker swarm是docker 官方搭建的容器集群编排工具:容器编排,就是可以使你像使用一太机器一样来使 ...

  5. kubernetes 1.3 使用skydns + kube2dns +etcd部署DNS服务器

    1. 直接从Docker中拉取skydns,kube2dns,etcd容器,放到一个Pod中 kube2sky:1.14 etcd:2.0.9 skydns-amd64 2. 创建RC apiVers ...

  6. kubeadm 线上集群部署(一) 外部 ETCD 集群搭建

      IP Hostname   192.168.1.23 k8s-etcd-01 etcd集群节点,默认关于ETCD所有操作均在此节点上操作 192.168.1.24 k8s-etcd-02 etcd ...

  7. Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之自签TLS证书及Etcd集群部署(二)

    0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.服务器设置 1.把每一 ...

  8. k8s1.13.0二进制部署-ETCD集群(一)

    Kubernetes集群中主要存在两种类型的节点:master.minion节点. Minion节点为运行 Docker容器的节点,负责和节点上运行的 Docker 进行交互,并且提供了代理功能.Ma ...

  9. K8S从入门到放弃系列-(3)部署etcd集群

    摘要:etcd 是k8s集群最重要的组件,用来存储k8s的所有服务信息, etcd 挂了,集群就挂了,我们这里把etcd部署在master三台节点上做高可用,etcd集群采用raft算法选举Leade ...

随机推荐

  1. Grunt完整打包一个项目实例

    Grunt确实好用,配置好Gruntfile.js之后,一个命令就行云如流水,程序帮你搞定一切,爽歪歪. 我们先看压缩前的目录: 再看打包后的目录: build是打包后的文件夹,main.css是压缩 ...

  2. 记录开发Nodejs c++ addon的一些经验(四、electron)

    如果我们要在electron里使用我们开发的addon,那么直接使用是不行的. 官方的解释是:Electron 同样也支持原生模块,但由于和官方的 Node 相比使用了不同的 V8 引擎,如果你想编译 ...

  3. Sencha Architect打开闪退问题修复

    删除以下位置的cache文件夹 C:\Users\Administrator\AppData\Local\Sencha\Sencha Architect 3.2\Cache bug解决参考 https ...

  4. 一周一个小demo — vue.js实现备忘录功能

    这个vue实现备忘录的功能demo是K在github上找到的,K觉得这是一个用来对vue.js入门的一个非常简单的demo,所以拿在这里共享一下. (尊重他人劳动成果,从小事做起~  demo原git ...

  5. Ajax与jsonp

    1.ajax的概念 AJAX = Asynchronous Javascript And XML (AJAX  =  异步  javascript  和 xml) AJAX是一种无需重新加载整个网页的 ...

  6. YoLo 实践(1)

    目录 YoLo 实践(1) 目标: 实施方法: Step 0. 测试项目是否可以正常运行 运行效果图 使用VOC数据结构训练模型 Step1: 生成统一格式的标注文件和类别文件 Step2: 加载预训 ...

  7. Python pymysql模块学习心得

    PyMySQL包含了一个纯Python的MySQL客户端的库,它的目的是用来替换MySQLdb,并且工作在CPython,PyPy和IronPython. PyMySQL官方地址:https://py ...

  8. SQL Server ->> 利用CONVERT/STR/FORMAT函数把浮点型数据格式化/转换成字符串

    在SQL Server下想把数字(包括浮点型和整型)转换成字符串,保留数据原本的样子或者根据需要转换成另外指定的格式可能就不仅仅是一条CAST(XXXX AS NVARCHAR)这么简单的事情了. 无 ...

  9. SQL Server ->> Computed Column(计算列)

    Computed Column(计算列)是自SQL Server 2005开始就有的特性.计算列的定义是一个表达式.表达式可以是非计算列,常量,函数间的组合.但是不可以是子查询. 计算列数据固化 默认 ...

  10. 位运算(Bit Manipulation)在算法中的应用

    最近刷LettCode,遇到几个没思路的算法题,都是关于位运算的 # 136 Single Number Given a non-empty array of integers, every elem ...