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

相关文章

Java汇编源码如何查看环境搭建

《Java汇编源码如何查看环境搭建》:本文主要介绍如何在IntelliJIDEA开发环境中搭建字节码和汇编环境,以便更好地进行代码调优和JVM学习,首先,介绍了如何配置IntelliJIDEA以方... 目录一、简介二、在IDEA开发环境中搭建汇编环境2.1 在IDEA中搭建字节码查看环境2.1.1 搭建步

Redis分布式锁使用及说明

《Redis分布式锁使用及说明》本文总结了Redis和Zookeeper在高可用性和高一致性场景下的应用,并详细介绍了Redis的分布式锁实现方式,包括使用Lua脚本和续期机制,最后,提到了RedLo... 目录Redis分布式锁加锁方式怎么会解错锁?举个小案例吧解锁方式续期总结Redis分布式锁如果追求

结构体和联合体的区别及说明

《结构体和联合体的区别及说明》文章主要介绍了C语言中的结构体和联合体,结构体是一种自定义的复合数据类型,可以包含多个成员,每个成员可以是不同的数据类型,联合体是一种特殊的数据结构,可以在内存中共享同一... 目录结构体和联合体的区别1. 结构体(Struct)2. 联合体(Union)3. 联合体与结构体的

你的华为手机升级了吗? 鸿蒙NEXT多连推5.0.123版本变化颇多

《你的华为手机升级了吗?鸿蒙NEXT多连推5.0.123版本变化颇多》现在的手机系统更新可不仅仅是修修补补那么简单了,华为手机的鸿蒙系统最近可是动作频频,给用户们带来了不少惊喜... 为了让用户的使用体验变得很好,华为手机不仅发布了一系列给力的新机,还在操作系统方面进行了疯狂的发力。尤其是近期,不仅鸿蒙O

什么是 Ubuntu LTS?Ubuntu LTS和普通版本区别对比

《什么是UbuntuLTS?UbuntuLTS和普通版本区别对比》UbuntuLTS是Ubuntu操作系统的一个特殊版本,旨在提供更长时间的支持和稳定性,与常规的Ubuntu版本相比,LTS版... 如果你正打算安装 Ubuntu 系统,可能会被「LTS 版本」和「普通版本」给搞得一头雾水吧?尤其是对于刚入

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

在 VSCode 中配置 C++ 开发环境的详细教程

《在VSCode中配置C++开发环境的详细教程》本文详细介绍了如何在VisualStudioCode(VSCode)中配置C++开发环境,包括安装必要的工具、配置编译器、设置调试环境等步骤,通... 目录如何在 VSCode 中配置 C++ 开发环境:详细教程1. 什么是 VSCode?2. 安装 VSCo

windows端python版本管理工具pyenv-win安装使用

《windows端python版本管理工具pyenv-win安装使用》:本文主要介绍如何通过git方式下载和配置pyenv-win,包括下载、克隆仓库、配置环境变量等步骤,同时还详细介绍了如何使用... 目录pyenv-win 下载配置环境变量使用 pyenv-win 管理 python 版本一、安装 和

Go信号处理如何优雅地关闭你的应用

《Go信号处理如何优雅地关闭你的应用》Go中的优雅关闭机制使得在应用程序接收到终止信号时,能够进行平滑的资源清理,通过使用context来管理goroutine的生命周期,结合signal... 目录1. 什么是信号处理?2. 如何优雅地关闭 Go 应用?3. 代码实现3.1 基本的信号捕获和优雅关闭3.2

关于SpringBoot的spring.factories文件详细说明

《关于SpringBoot的spring.factories文件详细说明》spring.factories文件是SpringBoot自动配置机制的核心部分之一,它位于每个SpringBoot自动配置模... 目录前言一、基本结构二、常见的键EnableAutoConfigurationAutoConfigu