【番外篇】gRPC学习

gRPC是由Google主导开发的RPC框架,使用HTTP/2协议并用ProtoBuf作为序列化工具。其客户端提供Objective-C、Java接口,服务器侧则有Java、Golang、C++等接口,从而为移动端(iOS/Androi)到服务器端通讯提供了一种解决方案。 当然在当下的环境下,这种解决方案更热门的方式是RESTFull API接口。该方式需要自己去选择编码方式、服务器架构、自己搭建框架(JSON-RPC)。gRPC官方对REST的声音是:

  • 和REST一样遵循HTTP协议(明确的说是HTTP/2),但是gRPC提供了全双工流
  • 和传统的REST不同的是gRPC使用了静态路径,从而提高性能
  • 用一些格式化的错误码代替了HTTP的状态码更好的标示错误

至于是否要选择用gRPC。对于已经有一套方案的团队,可以参考下。如果是从头来做,可以考虑下gRPC提供的从客户端到服务器的整套解决方案,这样不用客户端去实现http的请求会话,JSON等的解析,服务器端也有现成的框架用。从15年3月到现在gRPC也发展了一年了,慢慢趋于成熟。下面我们就以gRPC的Golang版本看下其在golang上面的表现。至于服务端的RPC,感觉golang标准库的RPC框架基本够用了,没必要再去用另一套方案。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大数据文摘

手把手 | 如何在计算机上配置数据科学开发环境

从Python、R等编程语言到以Git为例的版本控制系统甚至Unix Shell等命令行工具,数据科学家的武器库现在越来越丰富了,在个人计算机上同时使用这些武器...

820
来自专栏小狼的世界

[每天五分钟,备战架构师-8]数据库系统

对于IT从业人员,一定听到过数据库的概念。顾名思义,数据库系统就是管理数据存储的软件。本篇就软件等级考试相关的数据库系统知识从整体上进行总结,方便大家复习。

1491
来自专栏嵌入式程序猿

你的代码敢上Polyspace跑吗?

嵌入式代码动态验证 在嵌入式开发中,代码静态分析工具相信大家应该都熟悉,都用过像PClint,understand C等,但对于动态验证,运行时错误验证工具还是...

6866
来自专栏杨建荣的学习笔记

关于session leak的问题分析(r3笔记第13天)

在生产环境中,作为dba需要对系统的负载有一个很清晰的认识。能够在很快的时间内能够发现系统潜在的问题,并且及时定位问题,高效的响应和处理问题。 比如说对于生产环...

3515
来自专栏Golang语言社区

游戏系统设计

一、 服务器 1、逻辑与数据分离 2、读写分离 3、服务器分层 4、分区容错 HA a.路由服务器组 *1, 做到AB测试,添加功能开关,策略选择灰度测试发布。...

4307

用MTR诊断网络问题

MTR是一个功能强大的工具,使管理员能够诊断和隔离网络错误,并向上游提供商提供网络状态报告。MTR表示的演进traceroute通过提供更大的数据样本,好像增强...

1.2K5
来自专栏杨建荣的学习笔记

操作系统存储管理和oracle数据库(第三篇)(r4笔记第46天)

在之前的一篇博文中讨论了分页存储,http://blog.itpub.net/23718752/viewspace-1435671/ 今天看了下分段存储,尽管这...

2734
来自专栏开源FPGA

FPGA计算3行同列数据之和

实验:FPGA计算3行同列数据之和 实验要求:PC机通过串口发送3行数据(一行有56个数据,3行共有56*3=168个数据)给FPGA,FPGA计算3行同一列数...

2188
来自专栏SDNLAB

ONOS系统架构之高可用实现方案的演进

在文章《ONOS高可用性和可扩展性实现初探》讲到了ONOS系统架构在高可用、可扩展方面技术概况,提到了系统在分布式集群中如何保证数据的一致性。在数据最终一致性方...

3466
来自专栏JackieZheng

可视化工具gephi源码探秘(二)---导入netbeans

  在上篇《可视化工具gephi源码探秘(一)》中主要介绍了如何将gephi的源码导入myeclipse中遇到的一些问题,此篇接着上篇而来,主要讲解当下通过my...

2798

扫码关注云+社区

领取腾讯云代金券