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. flask 服务器详解

    #!/usr/local/bin/python # coding=utf-8 from flask import Flask app = Flask(__name__) @app.route('/') ...

  2. Hibernate 函数 ,子查询 和原生SQL查询

    一. 函数 聚合函数:count(),avg(),sum(),min(),max() 例:(1)查询Dept表中的所有的记录条数. String hql=" select count(*) ...

  3. iview框架modal中嵌套modal

    modal的使用是平级的,后面的会覆盖前面,如下<modal>111</modal><modal>222</modal>内容为222的弹框会在内容为11 ...

  4. vscode自定义代码块

    vscode中设置自定义代码块打开首选项,选择用户代码片段,打开后选择编程语言选中后打开文件,按照格式编辑内容 "Print to console log": { "pr ...

  5. myeclipse 下载 checkstyle 引入后不显示问题

    参照这篇博客,http://blog.csdn.net/zzq900503/article/details/42003499 下载最新的checkstyle版本后,在本地导入后一直不显示,步骤什么的也 ...

  6. SQL Server ->> OFFSET & FETCH子句

    SQL Server 2012引入OFFSET + FETCH字句.它俩出现在SELECT .... ORDER BY ...后面.作用是告诉SQL Server在结果集中忽略前N行然后取前M行出来. ...

  7. Linux->Mysql安装调试

    环境准备 mysql下载地址:https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.19-linux-glibc2.12-x86_64.tar ...

  8. W3School学习网站

    http://www.w3school.com.cn/tags/att_form_autocomplete.asp

  9. 用sql语句实现年龄分段统计

    SELECT CASE WHEN (age >= 10 AND age <= 20) THEN '10-20' WHEN (age >= 21 AND age <= 30) T ...

  10. phonegap的照相机 API

    一. Camera Api 简单介绍 Camera 选择使用摄像头拍照,或从设备相册中获取一张照片.图片以 base64 编码的 字符串或图片 URI 形式返回. 方法: 1. camera.getP ...