etcd介绍与安装

一、简介

本质上就是一个分布式kv存储,采用Raft算法保证分布式一致性,实现了分布式锁2和leader选举3的机制。

etcd可以用于配置管理或者是集群的服务注册与发现。

性能上和zookeeper、consule的比较,可以参考https://coreos.com/blog/performance-of-etcd.html


特性

  1. GRPC通信
    grpc带来的优势就是http2的多路复用,可以共享相同的TCP链路,大大节省内存占用。

  2. TTL与Lease租约
    TTL:一次请求或一个key可以设置存活时长,API3改为租约机制。
    Lease:类似TTL,仍然用于设置存活时长,但不同的是它可以指定一组请求或key共用相同的租约,这样可以合并相同ttl的请求所占用的连接,从而减少必须维持的连接数。一旦到期,与之关联的所有key都将自动删除。

  3. Watch观察者
    ①基于版本的监视。
    ②迭代通知.

  4. 数据模型
    保存所有历史数据,也可以压缩。

  5. 支持事务


二、安装

linux

  • yum安装:最简便,但版本取决于镜像源。

      yum install etcd
    
  • 安装包:https://github.com/coreos/etcd/releases

    解压缩,将两个bin文件etcd、etcdctl添加到系统环境/usr/local/bin中。

mac

  • brew安装:可能需要先安装homebrew

      brew install etcd
    
  • 安装包同上。

部署


单机

  • etcd启动:已添加到/usr/local/bin下,直接执行即可。
# 2379:默认客户端监听端口
# 2380:etcd集群成员间通讯端口
etcd
  • etcdctl客户端:默认版本2,改用版本3:export ETCDCTL_API=3
etcdctl version

本地集群

官方提供了一个工具goreman,提供了Profile文件方式配置集群,简化部署。为了模拟生产环境的部署,我们不使用这种方式,而是按照标准的多机集群方式配置部署。

跳转章节:etcd集群部署

你可能感兴趣的:(服务器,架构,etcd深入浅出)