阿里、蚂蚁、晟腾、中科加禾精彩分享 AI 基础设施洞见,现购票可享受 9 折优惠 |AICon 了解详情
写点什么

想搞定微服务,先搞定 RPC 框架?

  • 2018-03-14
  • 本文字数:977 字

    阅读完需:约 3 分钟

要说近几年技术圈最流行的软件架构,肯定非微服务莫属。

想要实现服务化,首先要解决的就是各个服务间的通信问题,这里面涉及到序列化、反序列化、联机池管理等一大堆琐碎事情,各种重复性劳动让人想起来就头疼。

幸好我们有 RPC 框架,它能让我们像调用本地函数一样调用远端函数,大大降低了架构微服务化的成本,提高了研发效率。所以有人说:“想搞定微服务架构,先搞定 RPC 框架”,此言非虚!

在众多开源 RPC 框架中,挑哪个使用比较好呢?让我来选的话,我首推出身 Google 的 gRPC。

不仅仅是因为它出身名门,它对移动端、多语言以及 HTTP/2 的支持也是它能脱颖而出的重要原因。

gRPC 入门简单,网上到处都是教程,简单学习即可上手使用。

但是,由于各个公司生产环境各不相同,业务细节千差万别,在实际工作中,如果你对 gRPC 的底层工作原理及相关 API 类库不太熟悉,往往会遇到很多障碍。

这个时候,如果对 gRPC 背后的机制和原理包括源代码有比较深入的了解,甚至达到庖丁解牛的程度,问题自然就可以迎刃而解了。

所以,结合自己在实际业务中的使用经验,我对 gRPC 的底层原理及核心代码分析整理成了近 5 万字的文章,分 6 篇呈现给大家:

  1. gRPC 入门及服务端创建和调用原理解析
  2. gRPC 客户端创建和调用原理解析
  3. gRPC 线程模型分析
  4. gRPC 服务调用原理分析
  5. gRPC 安全性设计
  6. gRPC 序列化机制

通过对底层工作原理和核心代码的分析,希望能帮你更高效地掌握 gRPC 的实现细节,以便在工作中更好地对其进行应用及扩展。

现在这六篇文章(仅 9 元)已经正式在极客时间 App 上线了,点击下面的图片可以做详细了解。

(扫码或点击此处即刻订阅,现在注册立享30 元新人红包)

我是谁?

说了这么多,那么我是谁呢?为什么我觉得自己可以讲清楚这些话题?

我叫李林锋,多年来一直在从事 Java NIO、平台中间件、PaaS 平台、API 网关设计和开发等工作,由我主导设计过的分布式服务框架已经在全球数十个国家成功商用,也算是小有成就。

工作之余,我还写了两本书,分别是《Netty 权威指南》和《分布式服务框架原理与实践》。

所以,无论是业务实战还是技术布道,我自信还是有能力、有资格讲好 gRPC 这个话题,帮你认清里面的弯弯道道。

文章在哪里看?

PC 端:

点击此处,微信或支付宝支付,即刻订阅。

移动端:

  1. 点击此处,下载“极客时间”app,注册并登录,领取 30 元新人红包。
  2. 从首页轮播图或专栏页进入《深入浅出 gRPC》,完成订阅。
2018-03-14 19:007574
用户头像

发布了 25 篇内容, 共 68.8 次阅读, 收获喜欢 227 次。

关注

评论

发布
暂无评论
发现更多内容

MongoDB 数据库管理和开发Navicat for MongoDB【Mac/win】

Rose

MongoDB数据库 Navicat数据库下载 Navicat for MongoDB中文

UV贴图和展开初学者指南

3D建模设计

3D渲染 3D材质编辑 3D材质纹理贴图 UV纹理贴图 UV映射

使用AI搭建SpringBoot服务

X.F

AI Openjdk Java' openai Bard

了解什么是UV纹理?

3D建模设计

3D渲染 3D材质编辑 3D材质纹理贴图 UV纹理贴图 UV映射

亚马逊云科技助力施耐德电气加速AI技术在制造场景的落地与创新

财见

NFTScan | 01.01~01.07 NFT 市场热点汇总

NFT Research

NFT NFT\ NFTScan

AE脚本-快速创建微风摇曳摆动波浪动画 Breeze

Rose

阿里云 EMAS & 魔笔:12月产品动态

移动研发平台EMAS

软件测试开发/全日制/测试管理丨用户端 Web 自动化测试

测试人

软件测试 自动化测试 测试开发 Web自动化测试 web测试

业务无忧:稳定云虚拟主机让您的在线业务更加顺畅

一只扑棱蛾子

虚拟主机 云虚拟主机

[Mac/win数据库最新版]Navicat for MySQL 永久激活教程

Rose

Navicat for MySQL 数据库管理开发 Navicat数据库软件下载

关于 IntelliJ IDEA 中 Schedule for Addition 的问题

Rose

IntelliJ IDEA

UV映射技巧和窍门

3D建模设计

3D渲染 3D材质编辑 3D材质纹理贴图 UV纹理贴图 UV映射

什么是多边形网格以及如何编辑它?

3D建模设计

3D渲染 3D材质编辑 3D材质纹理贴图 UV纹理贴图 UV映射

OpenAI 也在 996?一位离职员工自白:代码贡献第四,经常工作 6 天丨 RTE 开发者日报 Vol.121

声网

当在线教育流量预警时,我们还可以在哪里挖掘

Geek_2305a8

GaussDB(for MySQL)新特性TDE发布:支持透明数据加密

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 华为云GaussDB(for MySQL)

音视频小程序在教育行业的应用发展是短期爆发or未来趋势?

Geek_2305a8

如何选择适合自己的外贸独立站域名?

九凌网络

Avdshare Audio Converter for Mac(性能超强的音频格式转换器)

Rose

苹果软件下载 Avdshare Audio Converter Mac音频格式转换器

2023年国内AI Agent下项目大盘点,科技大厂与创业公司齐头并进

王吉伟频道

创业 融资 大语言模型 AI Agent AI智能体

软件测试开发/全日制/测试管理丨用户端 App 自动化测试

测试人

软件测试 自动化测试 测试开发 app自动化测试

鸿蒙系统应用开发之开发准备

EquatorCoco

华为 系统开发 鸿蒙系统

2024年最热门的15个科技工作岗位

互联网工科生

程序员 科技 岗位

如何选择适合自己的外贸独立站域名?

九凌网络

PostgreSQL数据库开发工具Navicat for PostgreSQL中文版

Rose

数据库设计 Navicat for PostgreSQL PostgreSQL数据库开发

软件测试开发/全日制/测试管理丨接口功能测试

测试人

软件测试 自动化测试 接口测试 测试开发 测试管理

实时获取建材网商品数据:API实现详解与代码示例

Noah

TikTok海外直播专线:优化你的海外直播体验

Ogcloud

直播 直播优化 TikTok

AE脚本-图层分布路径形状高级控制 Tweaks

Rose

医疗机构如何释放数据要素价值 推动数据资产化

用友BIP

数据资产

想搞定微服务,先搞定 RPC 框架?_架构_李林锋_InfoQ精选文章