【Go-Zero】Windows启动rpc服务报错panic:context deadline exceeded解决方案
问题来源
今天在编写完proto
文件后,使用goctl
生成对应的rpc
服务文件时,启动rpc
服务,发现panic
报错。
goctl命令
// rpc目录下创建
goctl rpc protoc user.proto --go_out=types --go-grpc_out=types --zrpc_out=.
报错信息
报错信息如下:
具体如下:
排查
方法1
是不是其他进程的占用了启动rpc
服务的默认端口:2379
需要先把进程关闭,再启动服务。
必要时,重启电脑,试一下
方法2(优先尝试)
假如不是上面的原因引起的,则说明是因为etcd
服务没有启动!
为什么?
这里需要简单了解一下rpc
的原理
查阅一下官方文档
在清楚这个原理后,只需要启动etcd
服务即可。
假如你还没有安装etcd
,那么需要先安装一下。
具体安装教程见这篇博客
如果你已经安装,那么需要手动打开一下
-
首先,找到你安装
etcd
的文件夹
-
接着,需要在路径框输入
cmd
- 最后,在启动的窗口中输入
etcd
即可
之后再回到goland去启动rpc
服务即可!
现在,就可以正常启动rpc
服务啦!
往期好文💕
【保姆级教程】Windows11下go-zero的etcd安装与初步使用
【保姆级教程】Windows11安装go-zero代码生成工具goctl、protoc、go-zero
【Go面试向】defer与time.sleep初探
【Go面试向】defer与return的执行顺序初探
【Go面试向】Go程序的执行顺序
【Go面试向】rune和byte类型的认识与使用
【Go面试向】实现map稳定的有序遍历的方式