当前位置: 首页 > news >正文

ETCD介绍以及Go语言中使用ETCD详解

ETCD介绍以及Go语言中使用ETCD详解

什么是etcd

ETCD是一个分布式、可靠的key-value存储的分布式系统,用于存储分布式系统中的关键数据;当然,它不仅仅用于存储,还提供配置共享及服务发现;基于Go语言实现 。

etcd的特点

  • 完全复制:集群中的每个节点都可以使用完整的存档
  • 高可用性:Etcd可用于避免硬件的单点故障或网络问题
  • 一致性:每次读取都会返回跨多主机的最新写入
  • 简单:包括一个定义良好、面向用户的API(gRPC)
  • 安全:实现了带有可选的客户端证书身份验证的自动化TLS
  • 可靠:使用Raft算法实现了强一致、高可用的服务存储目录

etcd的应用场景

服务注册与发现

服务发现还能注册

服务注册发现解决的是分布式系统中最常见的问题之一,即在同一个分布式系统中,找到我们需要的目标服务,建立连接,然后完成整个链路的调度。

本质上来说,服务发现就是想要了解集群中是否有进程在监听 udp 或 tcp 端口,并且通过名字就可以查找和连接。要解决服务发现的问题,需要有下面三大支柱,缺一不可。

1、一个强一致性、高可用的服务存储目录。基于Raft算法的etcd天生就是这样一个强一致性高可用的服务存储目录。

2、一种注册服务和监控服务健康状态的机制。用户可以在etcd中注册服务,并且对注册的服务设置key TTL,定时保持服务的心跳以达到监控健康状态的效果

http://www.lryc.cn/news/404180.html

相关文章:

  • 03-用户画像+Elasticsearch
  • 初学Mybatis之搭建项目环境
  • JMeter使用小功能-(持续更新)
  • 科研绘图系列:R语言火山图(volcano plot)
  • docker firewalld 防火墙设置
  • 《问题004:报错-JS问题-unknown: Invalid shorthand property initializer.》
  • 什么是 MLPerf?
  • 【SpringBoot】第3章 SpringBoot的系统配置
  • ELK日志分析系统部署文档
  • ue5笔记
  • TCP重传机制详解
  • 如何使用javascript将商品添加到购物车?
  • 【MySQL】:想学好数据库,不知道这些还想咋学
  • 1.关于linux的命令
  • 【人工智能】机器学习 -- 决策树(乳腺肿瘤数)
  • 【proteus经典实战】LCD滚动显示汉字
  • 数据结构复习1
  • 订单管理系统需求规范
  • swiftui使用ScrollView实现左右滑动和上下滑动的效果,仿小红书页面
  • 深入理解并使用 MySQL 的 SUBSTRING_INDEX 函数
  • elementUI在手机端使用遇到的问题总结
  • 【初阶数据结构】5.栈和队列
  • 高通Android 12 设置Global属性为null问题
  • Xcode代码静态分析:构建无缺陷代码的秘诀
  • Qt各个版本安装的保姆级教程
  • 数学建模--优劣解距离法TOPSIS
  • Springboot开发之 Excel 处理工具(三) -- EasyPoi 简介
  • 【BUG】已解决:python setup.py bdist_wheel did not run successfully.
  • Java 中如何支持任意格式的压缩和解压缩
  • 从零开始实现大语言模型(八):Layer Normalization