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能够基本满足你,建议使用。
---------------------
作者:jason成都
来源:CSDN
原文:https://blog.csdn.net/jinyuttt/article/details/81903921?utm_source=copy
版权声明:本文为博主原创文章,转载请附上博文链接!

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

  1. 快速部署简单私有云CloudStack(上)

    前言: 亲身用了大半年,没出过重大毛病,也就是服务挂了,跟服务器也没啥关系.如果想更深入学习cloudstack可以试试高级网络,我是一直用的简单网络(扁平网络). 由来:CloudStack的前身是 ...

  2. 01 . etcd简介原理,应用场景及部署,简单使用

    etcd简介 Etcd是CoreOS团队于2013年6月发起的开源项目,他的目标是构建一个高可用的分布式键值(key-value)数据库,etcd内部采用raft协议作为一致性算法,etcd基于Go语 ...

  3. etcd部署说明

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

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

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

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

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

  6. [转] 使用git自动部署简单网站

    要做什么 假设你有一个博客,有一台网站服务器(或者很多台作负载均衡的服务器),当你的博客要升级时,你可能要在你自己的电脑上写好代码(可能包括本地调试好),然后提交到git(或svn),然后在每个服务器 ...

  7. Docker实战--部署简单nodejs应用

    如何在Docker的container里运行Node.js程序 主体思路:一个简单的Node.js web app,来构建一个镜像,然后基于这个镜像,运行一个容器,从而实现快速部署. 操作环境: 虚拟 ...

  8. docker简单入门之使用docker容器部署简单的java web开源项目jpress博客程序

    一.在centos7.3上安装docker 前置条件 x86_64-bit 系统 kernel 3.10+ .检查内核版本,返回的值大于3.10即可 [root@node1 ~]# uname -r ...

  9. 使用Xshell和Xftfp部署简单的项目

    最近本人偶尔接触到该如何部署项目,朋友要求截图,趁此之际,简单总结一下,以供大家分享,更希望各位大神指点,大家相互学习,有问题的勿喷. 1.使用环境:win 7+MyEclipse 2014 + to ...

随机推荐

  1. 求大神帮忙解决一下c#winfrom bindingNavigatorPositionItem加载直接跳转问题

    c# winfrom bindingNavigatorPositionItem控件问题加载直接跳转到相对应的行的问题

  2. JavaScript对象 创建对象(二)

    组合使用构造函数和原型模式创建对象 function Person(name, age, job){ this.name = name; this.age = age; this.job = job; ...

  3. mac解决系统设置安全与隐私没有允许所有来源

    解决系统设置安全与隐私没有允许所有来源:sudo spctl --master-disable

  4. HDU 4731 找规律,打表

    http://acm.hust.edu.cn/vjudge/contest/126262#problem/D 分为3种情况,n=1,n=2,n>=3 其中需要注意的是n=2的情况,通过打表找规律 ...

  5. Colorbox - a jQuery lightbox

    http://www.jacklmoore.com/colorbox/http://www.jacklmoore.com/colorbox/example5/ <script type=&quo ...

  6. shell 重启 tomcat 脚本

    #!/bin/sh # author hapday -- export TOMCAT_HOME=/usr/local/tomcat-pms tomcat_pid=$(ps -ef | grep ${T ...

  7. 15_volatile

    [volatile概念] volatile关键字的主要作用是是变量在多个线程间可见. [注意] 在java中,每一个线程都会有一块工作内存区,其中存放着所有线程共享的主内存中的变量的拷贝.当线程执行时 ...

  8. hibernate_ID生成策略

    increment:主键按数值顺序递增.此方式的实现机制为在当前应用实例中维持一个变量,以保存着当前的最大值,之后每次需要生成主键的时候将此值加1作为主键.这种方式可能产生的问题是:如果当前有多个实例 ...

  9. DevExpress控件水印文字提示 z

    ButtonEdit.Properties.NullValuePrompt = "提示"; ButtonEdit.Properties.NullValuePromptShowFor ...

  10. Struts2学习-拦截器

    1.新建项目user4,建立好和user3一样的目录,与之相比只是添加几个类,主要是struts.xml和action类的改变,其结果没有太大的变化 struts,xml <?xml versi ...