技术标签: 微服务 go-zero Go-Zero golang 安装 go redis etcd 键值对操作
大家好 我是寸铁
总结了一篇Windows11下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
?
Windows安装etcd
非常简单,只需要下载安装包即可。
这里由于是简单了解和使用,所以不进行配置环境变量。
需要的话,自行配置一下即可。
接着找到Assets
, 之后点击Windows版本
的安装包,如下:
进入对应安装etcd
的目录
接着,在地址导航框输入cmd
进入到etcd
的命令行窗口
etcd
的使用和redis
很类似,基本上就是一些设置键和获取键的操作。
一开始使用etcdctl
的命令,报错如下:
这是因为127.0.0.1:2379
这个端口的连接不上,为什么连接不上,很明显,我们一开始只是开了一个窗口,也就是客户端
, 还需要开启一个服务端
!
由于没有配置环境变量,所以这里的使用需要启动两个
cmd
窗口,一个用于做etcd
的客户端,一个用于做etcd
的服务端。
直接在命令行输入
etcd
即可
接着,再开启一个
客户端
。
接着,就可以愉快地在客户端中操作键值对
了~
操作键值对的方式和redis类似,也是通过命令进行操作的。
语法形如redis
,redis
用set
,这里使用get
。
etcdl put 键(key) 值(value)
运行结果如下:
要验证是否put
成功,或者如何取出来
,就要用到接下来的命令了!
与redis
类似,也是使用get
操作
etcdl get 键(key)
运行结果如下:
取出的结果是:
key
value
进一步,如果只是想取出值,可以使用如下指令:
etcdl get name --print-value-only
注意:print前是两个
-
运行结果如下:
要想同时获取前缀相同的键的值,可以使用前缀选项。
put
进去命令如下:
etcdctl get rpc --prefix
运行结果如下:
更多用法如下:
使用watch
机制,监听
某个键
的信息变化!
与
redis
类似
命令如下
etcdctl watch rpc.user
运行如果如下:
现在处于监听状态,还需要开启一个去执行变化过程!
再开启一个命令行窗口去监听键的变化
修改键所对应的值
watch
的窗口实时监听到地址发生的变化!
del
删除某个键
命令如下:
etcdctl del 键(key)
运行结果如下:
返回
1
则表明删除成功!
更进一步的对etcd
的使用,还需要结合具体的微服务项目去开展,在做项目的使用,加深对etcd
高可靠性和服务注册与发现的理解。
看到这里的小伙伴,恭喜你又掌握了一个技能
希望大家能取得胜利,坚持就是胜利
我是寸铁!我们下期再见
【保姆级教程】Windows11下go-zero的etcd安装与初步使用
【保姆级教程】Windows11安装go-zero代码生成工具goctl、protoc、go-zero
【Go-Zero】手把手带你在goland中创建api文件并设置高亮
【Go-Zero】Error: user.api 27:9 syntax error: expected ‘:‘ | ‘IDENT‘ | ‘INT‘, got ‘(‘ 报错解决方案及api路由注意事项
【Go-Zero】Error: only one service expected goctl一键转换生成rpc服务错误解决方案
【Go-Zero】【error】 failed to initialize database, got error Error 1045 (28000):报错解决方案
【Go-Zero】Error 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)报错解决方案
【Go-Zero】type mismatch for field “Auth.AccessSecret“, expect “string“, actual “number“报错解决方案
【Go-Zero】Error: user.api 30:2 syntax error: expected ‘)‘ | ‘KEY‘, got ‘IDENT‘报错解决方案
【Go-Zero】Windows启动rpc服务报错panic:context deadline exceeded解决方案
文章浏览阅读3.2k次。本文研究全球与中国市场分布式光纤传感器的发展现状及未来发展趋势,分别从生产和消费的角度分析分布式光纤传感器的主要生产地区、主要消费地区以及主要的生产商。重点分析全球与中国市场的主要厂商产品特点、产品规格、不同规格产品的价格、产量、产值及全球和中国市场主要生产商的市场份额。主要生产商包括:FISO TechnologiesBrugg KabelSensor HighwayOmnisensAFL GlobalQinetiQ GroupLockheed MartinOSENSA Innovati_预计2026年中国分布式传感器市场规模有多大
文章浏览阅读1.1k次,点赞2次,收藏12次。常用组合逻辑电路结构——为IC设计的延时估计铺垫学习目的:估计模块间的delay,确保写的代码的timing 综合能给到多少HZ,以满足需求!_基4布斯算法代码
文章浏览阅读3.3k次,点赞3次,收藏5次。OpenAI Manager助手(基于SpringBoot和Vue)_chatgpt网页版
文章浏览阅读2.2k次。USACO自1992年举办,到目前为止已经举办了27届,目的是为了帮助美国信息学国家队选拔IOI的队员,目前逐渐发展为全球热门的线上赛事,成为美国大学申请条件下,含金量相当高的官方竞赛。USACO的比赛成绩可以助力计算机专业留学,越来越多的学生进入了康奈尔,麻省理工,普林斯顿,哈佛和耶鲁等大学,这些同学的共同点是他们都参加了美国计算机科学竞赛(USACO),并且取得过非常好的成绩。适合参赛人群USACO适合国内在读学生有意向申请美国大学的或者想锻炼自己编程能力的同学,高三学生也可以参加12月的第_usaco可以多次提交吗
文章浏览阅读394次。1.1 存储程序1.2 创建存储过程1.3 创建自定义函数1.3.1 示例1.4 自定义函数和存储过程的区别1.5 变量的使用1.6 定义条件和处理程序1.6.1 定义条件1.6.1.1 示例1.6.2 定义处理程序1.6.2.1 示例1.7 光标的使用1.7.1 声明光标1.7.2 打开光标1.7.3 使用光标1.7.4 关闭光标1.8 流程控制的使用1.8.1 IF语句1.8.2 CASE语句1.8.3 LOOP语句1.8.4 LEAVE语句1.8.5 ITERATE语句1.8.6 REPEAT语句。_mysql自定义函数和存储过程
文章浏览阅读188次。半导体二极管——集成电路最小组成单元。_本征半导体电流为0
文章浏览阅读2.8k次,点赞3次,收藏18次。游戏水面特效实现方式太多。咱们这边介绍的是一最简单的UV动画(无顶点位移),整个mesh由4个顶点构成。实现了水面效果(左图),不动代码稍微修改下参数和贴图可以实现岩浆效果(右图)。有要思路是1,uv按时间去做正弦波移动2,在1的基础上加个凹凸图混合uv3,在1、2的基础上加个水流方向4,加上对雾效的支持,如没必要请自行删除雾效代码(把包含fog的几行代码删除)S..._unity 岩浆shader
文章浏览阅读5k次。广义线性模型是线性模型的扩展,它通过连接函数建立响应变量的数学期望值与线性组合的预测变量之间的关系。广义线性模型拟合的形式为:其中g(μY)是条件均值的函数(称为连接函数)。另外,你可放松Y为正态分布的假设,改为Y 服从指数分布族中的一种分布即可。设定好连接函数和概率分布后,便可以通过最大似然估计的多次迭代推导出各参数值。在大部分情况下,线性模型就可以通过一系列连续型或类别型预测变量来预测正态分布的响应变量的工作。但是,有时候我们要进行非正态因变量的分析,例如:(1)类别型.._广义线性回归模型
文章浏览阅读69次。环境保护、 保护地球、 校园环保、垃圾分类、绿色家园、等网站的设计与制作。 总结了一些学生网页制作的经验:一般的网页需要融入以下知识点:div+css布局、浮动、定位、高级css、表格、表单及验证、js轮播图、音频 视频 Flash的应用、ul li、下拉导航栏、鼠标划过效果等知识点,网页的风格主题也很全面:如爱好、风景、校园、美食、动漫、游戏、咖啡、音乐、家乡、电影、名人、商城以及个人主页等主题,学生、新手可参考下方页面的布局和设计和HTML源码(有用点赞△) 一套A+的网_垃圾分类网页设计目标怎么写
文章浏览阅读614次,点赞7次,收藏11次。之前找到一个修改 exe 中 DLL地址 的方法, 不太好使,虽然能正确启动, 但无法改变 exe 的工作目录,这就影响了.Net 中很多获取 exe 执行目录来拼接的地址 ( 相对路径 ),比如 wwwroot 和 代码中相对目录还有一些复制到目录的普通文件 等等,它们的地址都会指向原来 exe 的目录, 而不是自定义的 “lib” 目录,根本原因就是没有修改 exe 的工作目录这次来搞一个启动程序,把 .net 的所有东西都放在一个文件夹,在文件夹同级的目录制作一个 exe._.net dll 全局目录
文章浏览阅读1.5k次。本文为转载,原博客地址:http://blog.csdn.net/hujingshuang/article/details/46910259简介 BRIEF是2010年的一篇名为《BRIEF:Binary Robust Independent Elementary Features》的文章中提出,BRIEF是对已检测到的特征点进行描述,它是一种二进制编码的描述子,摈弃了利用区域灰度..._breif description calculation 特征点
文章浏览阅读4.1k次,点赞21次,收藏79次。本文是《基于SpringBoot的房屋租赁管理系统》的配套原创说明文档,可以给应届毕业生提供格式撰写参考,也可以给开发类似系统的朋友们提供功能业务设计思路。_基于spring boot的房屋租赁系统论文