etcd部署说明
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部署说明的更多相关文章
- etcd部署简单说明
etcd是一个K/V分布式存储,每个节点都保存完成的一份数据.有点类似redis.但是etcd不是数据库. 1.先说废话.之所以会用etcd,并不是实际项目需要,而是前面自己写的上传的DBCacheS ...
- kubeadm使用外部etcd部署kubernetes v1.17.3 高可用集群
文章转载自:https://mp.weixin.qq.com/s?__biz=MzI1MDgwNzQ1MQ==&mid=2247483891&idx=1&sn=17dcd7cd ...
- kubeadm 使用 Calico CNI 以及外部 etcd 部署 kubernetes v1.23.1 高可用集群
文章转载自:https://mp.weixin.qq.com/s/2sWHt6SeCf7GGam0LJEkkA 一.环境准备 使用服务器 Centos 8.4 镜像,默认操作系统版本 4.18.0-3 ...
- 通过docker-machine和etcd部署docker swarm集群
本片文章介绍一下 使用docker-machine 搭建docker swarm 集群:docker swarm是docker 官方搭建的容器集群编排工具:容器编排,就是可以使你像使用一太机器一样来使 ...
- 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 ...
- kubeadm 线上集群部署(一) 外部 ETCD 集群搭建
IP Hostname 192.168.1.23 k8s-etcd-01 etcd集群节点,默认关于ETCD所有操作均在此节点上操作 192.168.1.24 k8s-etcd-02 etcd ...
- Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之自签TLS证书及Etcd集群部署(二)
0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.服务器设置 1.把每一 ...
- k8s1.13.0二进制部署-ETCD集群(一)
Kubernetes集群中主要存在两种类型的节点:master.minion节点. Minion节点为运行 Docker容器的节点,负责和节点上运行的 Docker 进行交互,并且提供了代理功能.Ma ...
- K8S从入门到放弃系列-(3)部署etcd集群
摘要:etcd 是k8s集群最重要的组件,用来存储k8s的所有服务信息, etcd 挂了,集群就挂了,我们这里把etcd部署在master三台节点上做高可用,etcd集群采用raft算法选举Leade ...
随机推荐
- Java线程面试题 Top 50 (个人总结)(转)
问答总结: 1. JDK1.5引入了哪些更高阶的并发工具 2. Java中CyclicBarrier 和 CountDownLatch有什么不同? CountDownLatch和CyclicBar ...
- ThreadLocal 理解
主要方法 public void set(T value); public T get(); private T setInitialValue(); public void set(T value) ...
- elastic job 动态设置定时任务
1. 版本 <!-- import elastic-job lite core --> <dependency> <groupId>com.dangdang< ...
- JavaScript 递归法排列组合二维数组2
<html> <head> <title>二维数组排列组合</title> </head> <body> <div id= ...
- python3在anaconda下安装caffe失败
Python 跟 Python3 完全就是两种语言 0x00 import caffe FAILED 环境为 Ubuntu 16 cuda 8.0 NVIDIA 361.77 Anaconda2.昨天 ...
- sauvola二值化算法研究
sauvola二值化算法研究 sauvola是一种考虑局部均值亮度的图像二值化方法, 以局部均值为基准在根据标准差做些微调.算法实现上一般用积分图方法 来实现.这个方法能很好的解决全局阈值方法的短 ...
- RocketMQ读书笔记2——生产者
[生产者的不同写入策略] 生产者向消息队列里写入数据,不同的业务需要生产者采用不同的写入策略: 同步发送.异步发送.延迟发送.发送事务消息等. [DefaultMQProduce示例] public ...
- Android 查看和管理sqlite数据库
在Android中可以使用Eclipse插件DDMS来查看,也可以使用Android工具包中的adb工具来查看.android项目中的sqlite数据库位于/data/data/项目包/databas ...
- IIS6.0配置正常,但是显示“网页无法访问”,Httperr.log中显示全是“Connections_refused”,问题总结
转自:http://blog.csdn.net/foxeatapple/article/details/21983869 最近部门的Web服务器突然无法访问! 加班解决! 问题症状: 1.“Inter ...
- 基于以太坊的Token开发步骤
Token开发步骤 一.准备工具1.安装以太坊brew tap ethereum/ethereumbrew install ethereum2.node:brew install nodejs3.安装 ...