要说近几年技术圈最流行的软件架构,肯定非微服务莫属。 想要实现服务化,首先要解决的就是各个服务间的通信问题,这里面涉及到序列化、反序列化、联机池管理等一大堆琐碎事情,各种重复性劳动让人想起来就头疼。 幸好我们有 RPC 框架,它能让我们像调用本地函数一样调用远端函数,大大降低了架构微服务化的成本,提高了研发效率。所以有人说:“想搞定微服务架构,先搞定 RPC 框架”,此言非虚! 在众多开源 RPC 框架中,挑哪个使用比较好呢?让我来选的话,我首推出身 Google 的 gRPC。 不仅仅是因为它出身名门,它对移动端、多语言以及 HTTP/2 的支持也是它能脱颖而出的重要原因。 gRPC 入门简单,网上到处都是教程,简单学习即可上手使用。 但是,由于各个公司生产环境各不相同,业务细节千差万别,在实际工作中,如果你对 gRPC 的底层工作原理及相关 API 类库不太熟悉,往往会遇到很多障碍。 这个时候,如果对 gRPC 背后的机制和原理包括源代码有比较深入的了解,甚至达到庖丁解牛的程度,问题自然就可以迎刃而解了。 所以,结合自己在实际业务中的使用经验,我对 gRPC 的底层原理及核心代码分析整理成了近 5 万字的文章,分 6 篇呈现给大家:
通过对底层工作原理和核心代码的分析,希望能帮你更高效地掌握 gRPC 的实现细节,以便在工作中更好地对其进行应用及扩展。 现在这六篇文章(仅 9 元)已经正式在极客时间 App 上线了,点击下面的图片可以做详细了解。 说了这么多,那么我是谁呢?为什么我觉得自己可以讲清楚这些话题? 我叫李林锋,多年来一直在从事 Java NIO、平台中间件、PaaS 平台、API 网关设计和开发等工作,由我主导设计过的分布式服务框架已经在全球数十个国家成功商用,也算是小有成就。 工作之余,我还写了两本书,分别是《Netty 权威指南》和《分布式服务框架原理与实践》。 所以,无论是业务实战还是技术布道,我自信还是有能力、有资格讲好 gRPC 这个话题,帮你认清里面的弯弯道道。 |
|