前言

咱们好,先做一下毛遂自荐

我叫Barry Yan,目前是一名互联网公司的研发工程师,一起也是后端技能范畴的疯狂喜好者和技能博主,在GitHub、CSDN社区、51CTO博客社区、阿里云技能社区、技能社区和InfoQ写作社区等都有自己的博客,原创200余篇。尽管刚刚大学本科毕业不到一年,但是算上实习阅历的话大概有一年多的工作经历了,而且接触了一些不同的的编程言语和技能栈,对Java言语和相关技能栈如Spring、Tomcat、Netty、Zookeeper,Go言语和相关技能栈如Docker、gRPC、Gin、etcd都可以说比较了解。

为什么要写这个专栏。

在Go言语的相关学习中,发现确实如一些网友所说,Go比较Java,言语生态方面仍是有一定的弱势的,因而相关技能栈的学习材料、对处理问题的经历共享等内容在互联网上比较Java都不是特别的多,而我本人则是更偏向于做一个内容生产者,写出优质的内容丰富社区,而且能让更多的人去了解,一起也能丰富自己,让自己对这一门技能了解的愈加深入,所以就想在业余歇息的时间,从Go言语开发中非常常见的gRPC结构入手,完结一套属于自己的专栏!这个挑选是经过深思熟虑的,我信任自己在创造专栏的进程中可以有一些不同的成长,可以让读者朋友有实实在在的收成,让社区多一些更好的内容。

咱们为什么要学习gRPC?

当今的无论是传统软件范畴仍是互联网范畴,各种新技能层出不穷,覆盖的用户量规划也越来越广泛,随之而来的是架构思维的不断改变,从单体架构到SOA,到微服务再到”无服务”,分布式技能越发常见且重要,而自从单体架构之后的分布式架构,都会规划到服务之间的信息传输,而信息传输的方法主要是经过网络,更具体一点是TCP网络协议,但是使用之间很少会直接使用TCP协议进行传输,而是挑选更上层的网络协议,比如HTTP、Socket、RPC等等,因为越往上层就意味着封装了更多的抽象,便于开发人员对其进行使用,而PRC相关的结构,无论是在功能上仍是便捷性上都是服务到服务之前进行信息传输的最优选项,而gRPC结构则是所有RPC结构中各方面最为突出的结构之一。

gRPC是Google发布的根据HTTP2.0协议的高功能开源RPC结构,是一种可拓展、松耦合且类型安全的处理方案,与传统的根据HTTP的通讯比较,它能进行更有效的进程间通讯,特别是现在流行的微服务架构和云原生技能里,在很多结构里都能看到它的身影存在,而且供给了多种编程言语的支撑。本篇专栏,从最简单的Hello World程序开端,从认识到使用,从编写程序到剖析源码,从全局到细节,和咱们一起去把握gRPC。

学习专栏前最好要具有一些根底常识

  • Go、Java言语的编程根底
  • 计算机网络常识
  • Git工具的使用

专栏目录

这一次,带你玩转gRPC框架【干货】

专栏除了开篇词和结束语以外总共分为四个部分,分别是根底篇实践篇高档篇扩展篇

根底篇

在根底篇的文章中,我会从计算机网络中的TCP协议开端,讲述RPC协议和相关结构完成的演进进程,剖析RPC为什么一定会出现,而且了解gRPC是怎样的RPC结构和gRPC的一些特性,从微观的视点去了解gRPC结构在具体使用中的通讯进程,可以让咱们了解gRPC的基本概念和适用的场景。

实践篇

了解gRPC结构的基本情况之后,咱们从实践出发,对gRPC进行进一步的使用,而且引进etcd服务注册中心,了解gRPC在分布式微服务范畴的使用,还要从获取连接、负载均衡、异步处理、并发、安全、可用性等多个方面去了解gRPC的部分原理和源码,学习完这一篇之后信任咱们就可以在项目中灵活的使用gRPC结构,而且可以处理大部分的问题。

高档篇

在这一篇中,我会测验带你深入gRPC原理和几个功能优化的要点,回归网络去了解HTTP2.0,以及不常用但是也很重要的UnknownService机制,最终测验去完成咱们自己的RPC结构,在这一篇的学习中,咱们可以对gRPC进行愈加深入的把握,在项目中的使用和优化可以挥洒自如。

扩展篇

扩展篇的几篇文章,可以为咱们带来实践经历、源码、思考和相关联组件的多方位常识,了解和实践不同言语的项目中使用gRPC,共享一下gRPC源码中的一些高雅规划和一些在实际使用进程中所遇到的一些问题和处理方法,讨论gRPC有哪些优势和缺乏,这些往往可以提高咱们深度思考的能力。

最终

《玩转gRPC结构》这篇专栏可以说是我技能成长之路上的第一个专栏,在写作的一起也是在学习,作为一名技能人,面临写作这件事我以为最重要的便是酷爱,而我也在坚持酷爱。在业余的时间里可以坚持一个自己的喜好并坚持下去,对咱们每一名技能人的成长也都是非常有协助的。或许比较一线经历丰富的前辈来讲,我对gRPC这项技能的把握并不是非常到位,对它的剖析和了解也不是非常的深入,写出的博客也或许不是非常的行云流水,但是我依然酷爱,依然想做,依然可以去做,而且能在自己的能力范围之内做到最好,就没有什么可置疑的了。

最终,我想谨以此专栏由衷的感谢在我成长进程中遇到的每一位老师的教导与协助,一起也感谢每一位读者的支撑!

专栏地址:blog.csdn.net/mr_yanmingx…