03 grpc-go环境说明、版本、网盘、QQ群、为什么学习grpc-go

2024-06-12 13:08

本文主要是介绍03 grpc-go环境说明、版本、网盘、QQ群、为什么学习grpc-go,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

已发表的技术专栏
0  grpc-go、protobuf、multus-cni 技术专栏 总入口

1  grpc-go 源码剖析与实战  文章目录

2  Protobuf介绍与实战 图文专栏  文章目录

3  multus-cni   文章目录(k8s多网络实现方案)

4  grpc、oauth2、openssl、双向认证、单向认证等专栏文章目录


在这里插入图片描述

1、为什么要分享学习gRPC-go源码?

1.1、从我个人的视角说

  • 一是,在设计我负责的项目中,底层使用的是微服务架构,微服务之间的通信涉及到grpc,因此,我希望自己能够对gRPC-go源码有更加清晰的认识,以便能够更好的为项目服务; 比方说,多个微服务间存在调用链关系时,如何设置超时机制?为了提高并发量,要不要设计rpc链接池,如何设计?等等,都是要考虑的事情。
  • 二是,希望能够帮助所需要的人;如果你的参与项目并没有很大的特色,如果在求职面试时你希望自己有技术亮点的话,如果你对go语言感兴趣,想继续提升go语言水平的话…,我想这篇专栏会帮助你。
  • 三是,我个人或者我们公司在招聘时,如果是高级工程师或者架构师等,也会问一下,有没有深入研究过优秀的开源源码。这也是能力的体现,当公司在招聘时,如果求职者有一项能力很出众,成功的可能性比较大。
  • 告别CRUD,对自己技能提升的投资

上了十几年的学,也工作五六年了,有一条失败经验就是,总想着一口吃个胖子,总想着有什么捷径可走,结果发现,浪费了很多时间,很多东西一知半解,没有形成系统,写这个专栏,也是希望勉励自己,能够沉下心来,踏踏实实的做一件事情;也希望能够将所学到的知识以专栏的形式呈现出来,不能让知识在大脑里睡觉;其实, 写专栏也是磨炼心情的过程!
也是,希望读者共勉之。谨记,别走老路。

1.2 从互联网公司的招聘要求里说

  打开招聘信息时,会发现很多公司对求职人员的技术要求之一,就是熟悉golang, grpc;甚至要求会二次开发,调试的能力; 因此,当我们有机会时,还是有必要去深入了解一下gRPC-go的源码。
在这里插入图片描述
在这里插入图片描述

2、阅读本专栏会有哪些收获

  • 可以了解gRPC-go的核心原理
  • 能够在简历上表明”熟读gRPC-go源码,具备对gRPC-go进行二次开发的能力,具备修改grpc-go源码的能力“
  • 能够学习到grpc-go框架是如何实现某个功能点,从而借用到自己的项目中去

等等
其实,最主要的是:

  • 减少了阅读gRPC-go源码的时间
  • 时间才是最宝贵的

3、每周更新多少篇

我会根据自己的工作时间,工作量大小,每周更新2~4篇文章;

4、 环境说明

本次采用的版本是grpc-go v1.30.0
Mac一台,Goland

会将专栏中涉及到的某些资料上传到百度网盘中,以方便大家阅读:
链接: https://pan.baidu.com/s/1za02qnUII78n-XhlrLf7RA
密码: 3tok

<<gRPC-go源码剖析与实战>>技术专栏交流群QQ:342498897
gRPC-go源码剖析与实战 百度网盘资料一
在这里插入图片描述
在这里插入图片描述


5、如何学习gRPC-go源码呢?

  • 希望大家能够沉下心来慢慢学习,对gRPC-go的源码的认识我保证不了类似于五天入门一个月精通,但是,如果你认认真真学习三个月,肯定会有不小的收获;
  • gRPC-go的源码有一定的难度,但也不是高不可攀,跟Kubernetes,Hadoop,spark等源码相比还是很简单的;对于大部分人来说,不可能翻阅两三遍就精通了;
  • 在学习中,如果发现某个知识点不理解的话,不用焦虑紧张,等过段时间,或者看完后续的文章后,再重新阅读时,就不是问题了。
  • 研究gRPC-go源码时经历了大量的测试,我主要是通过添加大量的测试日志,来发现各个功能点的核心原理的;
  • 如果你想了解到底是谁在调用某个方法时,方法之一,就是在被调用方法内部的开头打印一条错误日志,error级别的日志,会将调用链打印出来,可以从调用链里发现调用关系
  • 如果想查看某个方法,某个结构体等,在什么地方被调用了的话,最粗暴的方法就是,将这个方法,或者结构体等注释掉,然后再启动服务时,就会抛异常,然后再一个一个的去研究分析,可能会帮助你
  • 在研究滑动窗口(流量控制)时,研究其核心原理,有一个思路是,当改变某个参数时,一般情况下,肯定会产生一定的影响,这个参数的改变,会导致什么后果,是增加,还是减少;甚至会对其他参数产生一定的影响;
  • 等等

本专栏不会结束,将来如果有新的内容的话,还会继续添加进来的;
如,在建立rpc链接中的状态是如何设置的?
go语言中的上下文,事件,select,timer等知识点在gRPC-go框架是如何使用的;等等

至于,gRPC-go的简单介绍,如何使用,本专栏就不再叙述了,网上有很多文章写的很详细了,不再占用篇幅了。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述


点击下面的图片,返回到 专栏大纲(目录)

gRPC-go源码剖析与实战之专栏大纲

您的每一次点赞,每一次关注,每一次收藏都是对我工作的最大支持,让我们开始 吧!
gRPC-go源码剖析与实战之点赞之交

gRPC-go源码剖析与实战感谢

这篇关于03 grpc-go环境说明、版本、网盘、QQ群、为什么学习grpc-go的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1054300

相关文章

IntelliJ IDEA 中配置 Spring MVC 环境的详细步骤及问题解决

《IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决》:本文主要介绍IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决,本文分步骤结合实例给大... 目录步骤 1:创建 Maven Web 项目步骤 2:添加 Spring MVC 依赖1、保存后执行2、将新的依赖

Java学习手册之Filter和Listener使用方法

《Java学习手册之Filter和Listener使用方法》:本文主要介绍Java学习手册之Filter和Listener使用方法的相关资料,Filter是一种拦截器,可以在请求到达Servl... 目录一、Filter(过滤器)1. Filter 的工作原理2. Filter 的配置与使用二、Listen

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

go 指针接收者和值接收者的区别小结

《go指针接收者和值接收者的区别小结》在Go语言中,值接收者和指针接收者是方法定义中的两种接收者类型,本文主要介绍了go指针接收者和值接收者的区别小结,文中通过示例代码介绍的非常详细,需要的朋友们下... 目录go 指针接收者和值接收者的区别易错点辨析go 指针接收者和值接收者的区别指针接收者和值接收者的

Python如何自动生成环境依赖包requirements

《Python如何自动生成环境依赖包requirements》:本文主要介绍Python如何自动生成环境依赖包requirements问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录生成当前 python 环境 安装的所有依赖包1、命令2、常见问题只生成当前 项目 的所有依赖包1、

Redis在windows环境下如何启动

《Redis在windows环境下如何启动》:本文主要介绍Redis在windows环境下如何启动的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Redis在Windows环境下启动1.在redis的安装目录下2.输入·redis-server.exe

Pytest多环境切换的常见方法介绍

《Pytest多环境切换的常见方法介绍》Pytest作为自动化测试的主力框架,如何实现本地、测试、预发、生产环境的灵活切换,本文总结了通过pytest框架实现自由环境切换的几种方法,大家可以根据需要进... 目录1.pytest-base-url2.hooks函数3.yml和fixture结论你是否也遇到过

Go 语言中的select语句详解及工作原理

《Go语言中的select语句详解及工作原理》在Go语言中,select语句是用于处理多个通道(channel)操作的一种控制结构,它类似于switch语句,本文给大家介绍Go语言中的select语... 目录Go 语言中的 select 是做什么的基本功能语法工作原理示例示例 1:监听多个通道示例 2:带

浅谈配置MMCV环境,解决报错,版本不匹配问题

《浅谈配置MMCV环境,解决报错,版本不匹配问题》:本文主要介绍浅谈配置MMCV环境,解决报错,版本不匹配问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录配置MMCV环境,解决报错,版本不匹配错误示例正确示例总结配置MMCV环境,解决报错,版本不匹配在col

Go标准库常见错误分析和解决办法

《Go标准库常见错误分析和解决办法》Go语言的标准库为开发者提供了丰富且高效的工具,涵盖了从网络编程到文件操作等各个方面,然而,标准库虽好,使用不当却可能适得其反,正所谓工欲善其事,必先利其器,本文将... 目录1. 使用了错误的time.Duration2. time.After导致的内存泄漏3. jsO