背景

项目中需要用到gRPC,所以需要去了解它的使用。去官网看它的介绍以及run Quick start

run quickStart 遇到问题

根据官网的介绍,run Quick start 的时候一直遇到 method not found 的问题,看了代码,已经实现了哈,经过了半天的尝试,google 和 baidu 都查了下,实在是搞不定,就去问了下同事,然后带着我进行debug,看那里出了问题,通过改代码看它走到了那里,一开始排查发现我的 go path 设置错了,然后重新设置了一下go path 然后发现还是不行,上面的代码是在goland中调试的(后面的bug和它goland也有关系)。

后来删了一些代码,发现还是不行,后来没有在goland里面跑了,在命令行中跑。印象中是提示了 端口占用,然后使用 lsof -i : 50051,发现这个端口运行了很多进程,然后将这些进程杀死,重新run demo,然后 gRPC的hello world就出来了。所以找到了原因:

  1. 一开始我的go path 配置错了

  2. 老的错误进程占用端口,请求不到正常的程序逻辑

写小demo

  1. 花了一天时间看了下gRPC 官网和 Protocol buffer的内容

  2. 又花了一天时间看demo,写练习

根据自己想要练习的内容自己定义了2个接口:

2.1. 根据id查询数据库中的一条记录

2. 2. 根据区间查询数据库中的多条记录

复盘总结

  1. 学习新知识,去看它的官网,是最好的学习资料,不要害怕英文,一点一点看就好了

  2. 主动学习:自己可以去构建场景,去动手实践

gRPC 学习了解记录的更多相关文章

  1. gRPC学习之四:实战四类服务方法

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  2. Activiti 学习笔记记录(2016-8-31)

    上一篇:Activiti 学习笔记记录(二) 导读:上一篇学习了bpmn 画图的常用图形标记.那如何用它们组成一个可用文件呢? 我们知道 bpmn 其实是一个xml 文件

  3. Activiti 学习笔记记录(二)

    上一篇:Activiti 学习笔记记录 导读:对于工作流引擎的使用,我们都知道,需要一个业务事件,比如请假,它会去走一个流程(提交申请->领导审批---(批,不批)---->结束),Act ...

  4. PostgresSQL 学习资料记录处

    PostgresSQL 学习资料记录处  博客:http://francs3.blog.163.com PostgreSQL9.4 中文手册:http://www.postgres.cn/docs/9 ...

  5. Lucene.net(4.8.0) 学习问题记录五: JIEba分词和Lucene的结合,以及对分词器的思考

    前言:目前自己在做使用Lucene.net和PanGu分词实现全文检索的工作,不过自己是把别人做好的项目进行迁移.因为项目整体要迁移到ASP.NET Core 2.0版本,而Lucene使用的版本是3 ...

  6. Lucene.net(4.8.0) 学习问题记录六:Lucene 的索引系统和搜索过程分析

    前言:目前自己在做使用Lucene.net和PanGu分词实现全文检索的工作,不过自己是把别人做好的项目进行迁移.因为项目整体要迁移到ASP.NET Core 2.0版本,而Lucene使用的版本是3 ...

  7. Java NIO学习与记录(八): Reactor两种多线程模型的实现

    Reactor两种多线程模型的实现 注:本篇文章例子基于上一篇进行:Java NIO学习与记录(七): Reactor单线程模型的实现 紧接着上篇Reactor单线程模型的例子来,假设Handler的 ...

  8. ZigBee cc2530芯片学习 error记录(1)

    ZigBee cc2530芯片学习 error记录   Error[e46]: Undefined external "LcdInit" referred in main( xxx ...

  9. Spring Boot 2+gRPC 学习系列1:搭建Spring Boot 2+gRPC本地项目

    Spring Boot 2+gRPC 学习系列1:搭建Spring Boot 2+gRPC本地项目 https://blog.csdn.net/alinyua/article/details/8303 ...

  10. JVM 学习笔记记录

    JVM 学习笔记记录 Sun JDK 监控和故障处理工具 名称 主要作用 jps JVM Process Status Tool, 显示指定系统内所有的HotSpot虚拟机进程 jstat JVM S ...

随机推荐

  1. Linux 防火墙及开放端口管理

    查看防火墙是否开启systemctl status firewalld 若没有开启则是开启状态systemctl start firewalld  关闭则start改为stop 查看所有开启的端口fi ...

  2. Trae 开发工具与使用技巧

    大家好,我是 V 哥. 前不久,字节重磅推出 AI 原生 IDE Trae,有了这款工具,程序员的开发效率得到了大大的提升,如何你是程序员,还没有使用起来,那 V 哥建议你即刻起马上安装上,谁用谁知道 ...

  3. Win32控制台获取可执行程序的快捷方式的目标位置、起始位置、快捷键、备注等

    Win32控制台获取可执行程序的快捷方式的目标位置.起始位置.快捷键.备注等,示例如下图: #include <iostream> #include <atlstr.h> #i ...

  4. Redis 是什么?

    Redis 的定义?   百度百科: Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.K ...

  5. Visual Studio 2017 导出 ASP.NET Core 项目模版项目文件为空

    问题重现 VS 2017 针对 ASP.NET Core 导出模版功能有问题 解决办法 visual-studio-2017-templates-and-the-missing-content 目前官 ...

  6. 我要成为node_modules大师!(一):包管理器选择,依赖关系分析

    好家伙 1.npm曾经的一些问题 1. 依赖地狱(Dependency Hell) 嵌套依赖结构:早期版本的 npm 采用嵌套的 node_modules 结构,依赖层级极深,容易导致路径过长问题(尤 ...

  7. 帮客户解决基于surging的物流速运网关内存泄漏问题

    一.概述 有surging企业客户找到我,系统已经在线上环境运行,在使用过程中碰到内存不能释放的问题,每次都要和客户打招呼进行重启造成很坏的影响,问能不能彻底解决掉,然后我打包票可以解决,解决不了不收 ...

  8. ThreadPoolExecutor的corePoolSize、maximumPoolSize和poolSize

    看两段源码: 1 public ThreadPoolExecutor(int corePoolSize, 2 3 int maximumPoolSize, 4 5 long keepAliveTime ...

  9. pytorch 实战教程之路径聚合网络PANet(Path AggregationNetwork)代码实现 PANet原理详解

    原文作者:aircraft 原文链接:pytorch 实战教程之路径聚合网络PANet(Path AggregationNetwork)代码实现 PANet原理详解        学习YOLOv5前的 ...

  10. php获取前一天,前一个月,前半年,前一年的时间戳

    #获取前一小时strtotime("-1 hour") #获取前一天strtotime("-1 day") #获取前一周strtotime("-1 w ...