【Go-Zero】Windows启动rpc服务报错panic:context deadline exceeded解决方案

【Go-Zero】Windows启动rpc服务报错panic:context deadline exceeded解决方案

大家好 我是寸铁👊
总结了一篇Windows11下启动rpc服务报错panic解决方案的文章✨
喜欢的小伙伴可以点点关注 💝

问题来源

今天在编写完proto文件后,使用goctl生成对应的rpc 服务文件时,启动rpc 服务,发现panic 报错。

goctl命令

// rpc目录下创建
goctl rpc protoc user.proto --go_out=types --go-grpc_out=types --zrpc_out=.

报错信息

报错信息如下:

在这里插入图片描述

具体如下:

panic: context deadline exceeded
goroutine 1 [running]:
github.com/zeromicro/go-zero/zrpc.(*RpcServer).Start(0x28d3ec0?)
D:/Environment/GoWorks/pkg/mod/github.com/zeromicro/go-zero@v1.6.1/zrpc/server.go:89 +0x75
main.main()
D:/GoProject/zero_study/user/rpc/user.go:38 +0x299
exit status 2


排查

方法1

是不是其他进程的占用了启动rpc 服务的默认端口:2379
需要先把进程关闭,再启动服务。
必要时,重启电脑,试一下


方法2(优先尝试)

假如不是上面的原因引起的,则说明是因为etcd 服务没有启动!
为什么?
这里需要简单了解一下rpc 的原理
查阅一下官方文档
在这里插入图片描述

这说明使用goctl生成rpc服务时会默认向etcd注册中心注册当前服务的信息,也就是说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稳定的有序遍历的方式

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

jenkins pipeline配置maven可选参数

1、在Manage Jenkins下的Global Tool Configuration下对应的maven项添加我们要用得到的不同版本的maven安装项 2、pipeline文件内容具体如下 我们maven是单一的,所以我们都是配置单选参数 pipeline {agent anyparameters {gitParameter(name: BRANCH_TAG, type: …

【算法Hot100系列】合并区间

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老导航 檀越剑指大厂系列:全面总结 jav…

【Redis】关于它为什么快?使用场景?以及使用方式?为何引入多线程?

目录 1.既然redis那么快,为什么不用它做主数据库,只用它做缓存? 2.Redis 一般在什么场合下使用? 3.redis为什么这么快? 4.Redis为什么要引入了多线程? 1.既然redis那么快,为什么不用它做主数据…

电路笔记 :MOS场效应晶体管+红外遥控+AMS1117 电源模块

三极管(BJT,Bipolar Junction Transistor)和 MOSFET(Metal-Oxide-Semiconductor Field-Effect Transistor)是两种不同类型的晶体管,它们在工作原理、性能特性和应用方面有一些重要的区别。 结构和工作原理…

基于.NET+FreeSql实现的仿掘金专栏前后端分离的CMS

前言 今天分享一款基于.NETFreeSql实现的仿掘金专栏前后端分离、支持Docker部署、集成了OAtuh2授权登录、QQ、Github、Gitee快速登录、简单实用的CMS:lin-cms-dotnetcore。 什么是 Lin CMS? 林间有风团官方团队Gitee地址:https://gitee.com/…

数据库管理-第139期 做大还是做小-Oracle名称哪些事(20240125)

数据库管理139期 2024-01-25 第139期 做大还是做小-Oracle名称哪些事(20240125)1 问题2 排查3 扩展总结 第139期 做大还是做小-Oracle名称哪些事(20240125) 作者:胖头鱼的鱼缸(尹海文) Oracle A…

【硬件产品经理】避免硬件产品失败 | 技术维度

目录 简介 技术维度一:低估产品开发 技术维度二:低估规模生产的复杂性 技术维度三:测试不足 技术维度四:产品太复杂 技术维度五:对客户承诺太高 推荐内容 简介 这节内容主要从技术维度来谈谈避免硬件产品失败这…

指针的深入了解5

1.二维数组传参本质 在此之前我们学习了一维数组传参&#xff0c;传的是它的首元素地址。那么二维数组也是这样的吗&#xff1f; 我们来看一串代码&#xff1a; void print(int(*pt)[5]) {for (int i 0; i < 3; i){for (int j 0; j < 5; j){printf("%d ",…

bert提取词向量比较两文本相似度

使用 bert-base-chinese 预训练模型做词嵌入&#xff08;文本转向量&#xff09; 模型下载&#xff1a;bert预训练模型下载-CSDN博客 参考文章&#xff1a;使用bert提取词向量 下面这段代码是一个传入句子转为词向量的函数 from transformers import BertTokenizer, BertMod…

2024年了,是谁还在学C++11?(没错,是我)

今天要聊的这本书&#xff0c; 是真正畅行全球20年的C入门必读经典&#xff0c;各版本全球总销量超1300万册&#xff01; 它惠及了数百万高校师生&#xff0c;启蒙了5代国产程序员&#xff0c; 令全球数千万C开发者全部为之疯狂的大&#xff01;师&#xff01;名&#xff01…

实现Crm系统的灵活配置,满足不同行业客户需求

目录 一&#xff1a;数据模型配置 二&#xff1a;流程配置 三&#xff1a;扩展性配置 实现CRM系统的可配置性需要关注以下几个方面&#xff1a; 一&#xff1a;数据模型配置 为了满足企业的个性化需求&#xff0c;CRM系统需要提供灵活的数据模型配置。用户可以根据自己的业…

秋招面试—计算机网络安全

2021 计算机网络安全 1.Get 和 Post 的区别 get 用于获取数据&#xff0c;post用于提交数据&#xff1b; get 的缓存保存在浏览器和web服务器日志中&#xff1b; get 使用明文传输&#xff0c;post请求保存在请求体中&#xff1b; get 长度限制在2048以内 2.常见的HTTP请…

CVE-2024-0352 likeshop v2.5.7文件上传漏洞分析

本次的漏洞研究基于thinkPHP开发开的一款项目..... 漏洞描述 Likeshop是Likeshop开源的一个社交商务策略的完整解决方案&#xff0c;开源免费版基于thinkPHP开发。Likeshop 2.5.7.20210311及之前版本存在代码问题漏洞&#xff0c;该漏洞源于文件server/application/api/contr…

pytest教程-8-用例参数化方法

领取资料&#xff0c;咨询答疑&#xff0c;请➕wei: June__Go 上一小节中我们学习了pytest用例前后置方法的使用&#xff0c;本小节我们讲解一下pytest用例的参数化方法。 参数化简介&#xff1a; 参数化测试是指在测试用例中通过传入不同的参数来运行多次测试&#xff0c;…

图像复原的天花板在哪里?SUPIR:开创性结合文本引导先验和模型规模扩大

SUPIR&#xff08;Scaling-UP Image Restoration&#xff09;&#xff0c;这是一种开创性的图像复原方法&#xff0c;利用生成先验和模型扩大规模的力量。通过利用多模态技术和先进的生成先验&#xff0c;SUPIR在智能和逼真的图像复原方面取得了重大进展。作为SUPIR中的关键催化…

纵向拼接,一键高效,让图片处理更简单!

你是否曾经因为需要批量处理图片而感到烦恼&#xff1f;现在&#xff0c;有了我们的图片处理工具&#xff0c;你可以轻松地纵向拼接图片&#xff0c;一键批量处理&#xff0c;让图片处理工作更加高效&#xff01;这款工具采用先进的技术&#xff0c;能够快速准确地完成图片纵向…

Android SystemUI 介绍

目录 一、什么是SystemUI 二、SystemUI应用源码 三、学习 SystemUI 的核心组件 四、修改状态与导航栏测试 本篇文章&#xff0c;主要科普的是Android SystemUI &#xff0c; 下一篇文章我们将介绍如何把Android SystemUI 应用转成Android Studio 工程项目。 一、什么是Syst…

大数据 - Spark系列《一》- 分区 partition数目设置详解

目录 &#x1f436;3.2.1 分区过程 &#x1f436;3.2.2 SplitSize计算和分区个数计算 &#x1f436;3.2.3 Partition的数目设置 1. &#x1f959;对于数据读入阶段&#xff0c;输入文件被划分为多少个InputSplit就会需要多少初始task. 2. &#x1f959;对于转换算子产生的…

在centos 7 中安装配置Jdk、Tomcat、及Tomcat自启动

目录 一、安装配置Jdk 1.创建目录并上传文件 2.解压JDK压缩包 3.配置JDK环境变量 4.设置环境变量生效 二、安装配置Tomcat 1.上传Tomcat并解压 2.启停Tomcat 3.修改tomcat-user.xml配置 4.配置远程访问Tomcat 5.远程项目发布 三.Tomcat自启动配置 1.配置Tomcat自启…

imx6ull学习记录(一)

这一块主要是了解linux系统驱动部分&#xff0c;编译镜像相关的知识&#xff0c;这里记录一下。 使用板子如下&#xff1a; 教程用的这一个版本&#xff1a; 1、基本环境搭建 这个比较简单&#xff0c;只是注意一下就是正点原子的教程用了一个NFS文件系统&#xff0c;简单来…