【保姆级教程】Windows11下go-zero的etcd安装与初步使用

【Go-Zero】Windows11下etcd的安装与初步使用

大家好 我是寸铁👊
总结了一篇Windows11下etcd的安装与初步使用的文章✨
喜欢的小伙伴可以点点关注 💝

前言:
在使用etcd 前,我们需要了解一下etcd 是什么,为什么使用etcd 来进行微服务项目的开发。

etcd介绍

etcd(读作 et-see-dee)是一种开源的分布式统一键值存储,用于分布式系统或计算机集群共享配置、服务发现和调度协调etcd 有助于促进更加安全的自动更新协调向主机调度的工作,并帮助设置容器的覆盖网络

etcd 是许多其他项目的核心组件。最值得注意的是,它是Kubernetes首要数据存储,也是容器编排的实际标准系统。使用 etcd, 云原生应用可以保持更为一致的运行时间,而且在个别服务器发生故障时也能正常工作。应用从etcd读取数据并写入到其中;通过分散配置数据,为节点配置提供冗余和弹性

从简单的 Web 应用程序Kubernetes 集群,任何复杂的应用程序都可以从 etcd读取数据或将数据写入 etcd

etcd 采用Go语言编写,它具有出色的跨平台支持,很小二进制文件和强大的社区。 etcd 机器之间的通信通过 Raft 算法处理。


使用场景

etcd 比较多的应用场景是用于服务注册与发现,除此之外,也可以用于键值对存储,应用程序可以读取和写入 etcd 中的数据

一个简单的用例是将数据库连接详细信息或功能标志存储在 etcd 中作为键值对。 可以观察这些值,使我们的应用在更改时可以重新配置信息。高级用法是利用 etcd 的一致性保证来实施数据库 leader 选举或在一组 follower 之间执行分布式锁定


总结

etcd 是一个高度一致的分布式键值存储,它提供了一种可靠的方式来存储需要由分布式系统机器集群访问的数据。它可以优雅地处理网络分区期间leader 选举,以应对机器的故障,即使是在 leader 节点发生故障时

注意:这里的可靠性要比redis更加可靠,这也是我们选择使用etcd作为分布式键值存储的原因。此外,在更改配置文件时,如修改地址等等。需要重新启动项目,而etcd可以帮助我们自动更新。


初步认识etcd 后,下面来看一下怎么安装etcd ?


etcd安装

Windows安装etcd 非常简单,只需要下载安装包即可。

这里由于是简单了解和使用,所以不进行配置环境变量。
需要的话,自行配置一下即可。

Step1

安装地址点我

接着找到Assets , 之后点击Windows版本的安装包,如下:
在这里插入图片描述


Step2

进入对应安装etcd的目录
在这里插入图片描述


接着,在地址导航框输入cmd

在这里插入图片描述


进入到etcd 的命令行窗口
在这里插入图片描述


etcd的使用

etcd 的使用和redis 很类似,基本上就是一些设置键和获取键的操作。


报错排查

一开始使用etcdctl 的命令,报错如下:
这是因为127.0.0.1:2379 这个端口的连接不上,为什么连接不上,很明显,我们一开始只是开了一个窗口,也就是客户端 , 还需要开启一个服务端

在这里插入图片描述


由于没有配置环境变量,所以这里的使用需要启动两个cmd 窗口,一个用于做etcd客户端,一个用于做etcd服务端

etcd服务端

直接在命令行输入etcd 即可

在这里插入图片描述


etcd客户端

接着,再开启一个客户端

在这里插入图片描述

接着,就可以愉快地在客户端中操作键值对了~

操作键值对的方式和redis类似,也是通过命令进行操作的。

put命令

语法形如redisredisset ,这里使用get

etcdl put 键(key)(value)

运行结果如下:
在这里插入图片描述

要验证是否put 成功,或者如何取出来,就要用到接下来的命令了!

get命令

redis 类似,也是使用get 操作

etcdl get 键(key) 

运行结果如下:

在这里插入图片描述

取出的结果是:
key
value


进一步,如果只是想取出值,可以使用如下指令:

etcdl get name --print-value-only

注意:print前是两个-

运行结果如下:
在这里插入图片描述


要想同时获取前缀相同的键的值,可以使用前缀选项。

  • 先把值put 进去
    在这里插入图片描述
  • 再使用前缀选项批量获取相同前缀的值

命令如下:

etcdctl get rpc --prefix

运行结果如下:
在这里插入图片描述


更多用法如下:
在这里插入图片描述


watch命令

使用watch 机制,监听某个的信息变化!

redis 类似

命令如下

etcdctl watch rpc.user

运行如果如下:

现在处于监听状态,还需要开启一个去执行变化过程!

在这里插入图片描述


再开启一个命令行窗口去监听键的变化

修改键所对应的值

在这里插入图片描述


watch 的窗口实时监听到地址发生的变化!
在这里插入图片描述

del命令

del 删除某个键

命令如下:

etcdctl del 键(key)

运行结果如下:
在这里插入图片描述

返回1 则表明删除成功!

结语

更进一步的对etcd 的使用,还需要结合具体的微服务项目去开展,在做项目的使用,加深对etcd 高可靠性和服务注册与发现的理解。

看到这里的小伙伴,恭喜你又掌握了一个技能👊
希望大家能取得胜利,坚持就是胜利💪
我是寸铁!我们下期再见💕

往期好文💕

【保姆级教程】Windows11安装go-zero代码生成工具goctl、protoc、go-zero

【Go面试向】defer与time.sleep初探

【Go面试向】defer与return的执行顺序初探

【Go面试向】Go程序的执行顺序

【Go面试向】rune和byte类型的认识与使用

【Go面试向】实现map稳定的有序遍历的方式

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/659873.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

日本大带宽服务器速度和性能评测的关系

在互联网的快速发展中,大带宽服务器在提供高速、稳定的数据传输方面起着至关重要的作用。特别是在日本,由于其先进的网络基础设施和庞大的互联网用户群体,大带宽服务器的需求日益增长。那么,日本大带宽服务器的速度和性能评测有何…

x-shell常用命令总结

1、上传和下载文件 # 命令rz会弹出一个文件选择窗口,从本地选择文件上传到Linux服务器。 sudo rz #命令sz将选定的文件发送(send)到本地机器 sudo sz file 如果显示没有这两个命令,那就先安装: yum install lrzsz如果…

机器学习数学基础

机器学习基础 1、标量、向量、矩阵、张量2、概率函数、概率分布、概率密度、分布函数3、向量的线性相关性4、最大似然估计5、正态分布(高斯分布)6、向量的外积(叉积)7、向量的内积(点积)8、超平面(H)1、标量、向量、矩阵、张量 标量、向量、矩阵和张量是线性代数中不同…

回溯--39. 组合总和/medium 理解度C

39. 组合总和 1、题目2、题目分析3、复杂度最优解代码示例4、适用场景 1、题目 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意…

探索工业以太网交换机的新纪元:满足多元化市场需求

在当今数字化的时代,工业以太网交换机作为信息网络的核心枢纽,扮演着至关重要的角色。它们连接着各种设备,实现数据的快速传输与稳定交换,为工业自动化、物联网和智能制造提供了可靠的基础设施。随着数字化转型的不断深入&#xf…

媒体查询的使用

媒体查询的使用 media media-type and (media-feature) {/* 在满足特定媒体条件时应用的CSS样式 */ }media-type:可选,媒体类型,例如 all(所有设备)、print(打印预览)、screen(屏幕…

VBoxManage 命令行使用

VBoxManage: 序号命令作用1VBoxManage list vms# 查看当前所有虚拟机2VBoxManage list runningvms # 查看当前正在运行的虚拟机3VBoxManage startvm 虚拟机名 --type gui # 启动虚拟机4VBoxManage startvm 虚拟机名 --type headless# 无前端图形界面方式启动虚拟机…

2024第16届中国西部教育博览会在成渝双城举办

2024第16届中国西部教育博览会在成渝双城举办 邀请函 主办单位:中国西部教体融合博览会组委会 承办单位:重庆港华展览有限公司 时间:2024年3月30--31日 地点:成都世纪城新国际会展中心 时间:2024年6月22--23日 地…

【Linux取经路】进程控制——进程等待

文章目录 一、进程创建1.1 初识 fork 函数1.2 fork 函数返回值1.3 写时拷贝1.4 fork 的常规用法1.5 fork 调用失败的原因1.6 创建一批进程 二、进程终止2.1 进程退出场景2.2 strerror函数2.3 errno全局变量2.4 程序异常2.5 进程常见退出方法2.6 exit 函数2.7 _exit 函数和 exit…

week03day03(文件操作、正则表达式1)

一、文件操作 1.数据持久化(数据本地化) -- 将数据保存在硬盘 程序中的数据默认是保存在运行内存中的,保存在运行内存中的数据在程序运行结束后会自动释放。如果希望在程序结束后,数据仍可以使用&…

新春送福,暖心探访

春节将至,岁寒情暖。为了深入了解辖区困境老人的生活状况和真实需求,让困境老人感受到党和政府的关爱与温暖,营造幸福和谐的节日气氛。2024年1月31日下午,在长沙市湘江新区民政与社会保障局的支持下,学联社区携手长沙市…

dockers- php

在Dockerfile里面安装php7.4的GD库 - 知乎

Https加密超文本传输协议的运用

一、https的相关知识 1.1 https的简介 HTTPS (全称:Hypertext Transfer Protocol Secure ),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性 。HTTPS 在HTTP 的基础下加…

基于微服务的高考志愿智能辅助决策系统(附源码)

目录 一.引言 1、编写目的 2、系统功能概述 二.功能分析 三.微服务模块 1、微服务用户相关模块 (1)用户注册 (2)用户登录 (3)用户信息管理 (4)用户操作 2、微服务文件云存…

React Router 完美教程(下)

我们书接上回,继续我们的React Router 路由之路: 我们到目前为止都没有用到 state、useEffect、redux等状态管理器。但也达到了我们的设计目的。 注意,action 返回的结果 可以在组件中使用 useActionData() 来获取。就像 useLoaderData() 的使…

Linux上使用OpenCvSharp

前言 OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,它具有C++,Python,Java和MATLAB接口,并支持Windows,Linux,Android和Mac OS。OpenCvSharp是一个OpenCV的 .Net wrapper,应用最新的OpenCV库开发,使用习惯比EmguCV更接近原始的OpenC…

STL - string类

1、标准库中的string类 1.1、string类了解 字符串是表示字符序列的类标准的字符串类提供了对此类对象的支持,其接口类似于标准字符容器的接口,但添加了专门用于操作单字节字符字符串的设计特性string类是使用char (即作为它的字符类型,使用…

MD5算法:高效安全的数据完整性保障

摘要:在数字世界中,确保数据完整性和安全性至关重要。消息摘要算法就是一种用于实现这一目标的常用技术。其中,Message Digest Algorithm 5(MD5)算法因其高效性和安全性而受到广泛关注。本文将详细介绍MD5算法的优缺点…

web应用课——(第四讲:中期项目——拳皇)

代码AC Git地址:拳皇——AC Git链接

Maven:一些常见问题

1、ReasonPhrase: Forbidden a.注意用户的权限以及角色role的设置,一般是没有权限才会被禁止的。 2、Failed to collect dependencies a.需要把parent工程,也就是package是pom的那个工程先install一下,或者deploy b.需要注意在设置的工厂里面…