goetcd

shhnwangjian      2022-02-16     426

关键词:

etcd介绍

GitHub:https://github.com/coreos/etcd

官网:https://coreos.com/etcd/

 

概念:高可用的分布式key-value存储,可以用于配置共享和服务发现。

具有以下优点:
  • 简单 : 相比于晦涩难懂的paxos算法,etcd基于相对简单且易实现的raft算法实现一致性,并通过gRPC提供接口调用
  • 安全:支持TLS通信,并可以针对不同的用户进行对key的读写控制
  • 高性能:10,000 /秒的写性能

类似项目:zookeeper和consul

开发语言:Go

接口:提供restful的http接口,使用简单

实现算法:基于raft算法的强一致性、高可用的服务存储目录

etcd的应用场景:

  • 服务发现和服务注册
  • 配置中心
  • 分布式锁
  • master选举

 

注册和启动服务的优雅性(代码片段)

...雅的启动服务和退出packagemainimport("fmt""github.com/gorilla/mux""goetcd/util""log""net/http""os""os/signal""strconv""syscall")funcmain()router:=mux.NewRouter()router.HandleFunc("/product/id:\d+",func(writerhttp.ResponseWriter,request*http.Request)vars:=mux.Vars(request)str:="getproductByID... 查看详情