omnispace的博客

专注AI,物联网,区块链,安卓以及相关安全技术

从源码透析gRPC调用原理

导语 gRPC是什么,不用多说了。 gRPC如何用,也不用多说了 。 但是,gRPC是如何work的,清楚的理解其调用逻辑,对于我们更好、更深入的使用gRPC很有必要。因此我们必须深度解析下gRPC的实现逻辑,在本文中,将分别从客户端和服务端来说明gRPC的实现原理。 准备条件 本文将以...

2019-06-29 16:07:09

阅读数 103

评论数 0

你不知道的gRPC反向代理

一个gRPC Proxy的实现方案 导语 可用性、可靠性和扩展性是衡量后台服务的基本标准,HTTP反向代理,是任何一个提供大型Web服务后台所必备的,用以提高服务的这些基础参数,且通过支持到负载均衡而进一步提升服务性能。然而,随着微服务框架的盛行,RPC技术也已经开始承载大量的微服务之间的通信...

2019-06-29 16:06:12

阅读数 100

评论数 0

gRPC学习记录(六)--客户端连接池

对于客户端来说建立一个channel是昂贵的,因为创建channel需要连接,但是建立一个stub是很简单的,就像创建一个普通对象,因此Channel就需要复用,也就是说需要实现一个连接池应用.本文使用commons-pool2来实现连接池应用. 该案例可以当成连接池模板案例. &a...

2018-05-03 07:16:45

阅读数 1440

评论数 0

gRPC学习记录(五)--拦截器分析

对于此类调用拦截器是必不可少的,本篇就分析下拦截器的实现.(博主本来想分析源码的,但是水平不足,并发知识欠缺,看的不是很懂,哎,仍需努力),另外貌似不同版本有些差异,这里使用的是1.0.3版本.1.一个拦截器的小例子在分析之前先看一种设计.有一个接口如下:/** * 主调用接口 */ publ...

2018-05-02 15:35:11

阅读数 872

评论数 0

gRPC学习记录(四)--官方Demo

了解proto3后,接下来看官方Demo作为训练,这里建议看一遍之后自己动手搭建出来,一方面巩固之前的知识,一方面是对整个流程更加熟悉.官方Demo地址: https://github.com/grpc/grpc-java例子是一个简单的路由映射的应用,它允许客户端获取路由特性的信息,生成路由的总...

2018-05-02 15:33:55

阅读数 245

评论数 0

gRPC学习记录(三)--proto3知识

在上一篇中,得知proto文件是定义服务端和客户端通讯接口的标准,说白了就是客户端该传什么样的参数,服务端该返回什么样子的参数,客户端该怎么调用,是阻塞还是非阻塞,是同步还是异步,那么就需要对这个东西有所了解,该篇了解基于官方文档.建议有能力的还是直接看官方文档,该文章内容是个人看文档时的摘录.h...

2018-05-02 15:32:07

阅读数 222

评论数 0

gRPC学习记录(二)--Hello World

在上一篇的整体了解后,该篇则对应了快速上手,入门示例当然仍旧是Hello world,该一阶段不需要深究代码,所要求的的目的是先跑通,再回顾代码,然后分析需要什么知识,再去学什么.1.Maven配置首先是三个依赖包 <properties> ...

2018-05-02 15:30:59

阅读数 266

评论数 0

gRPC学习记录(一)--概念性知识

前几天刚发了一个如何学习一门新技术,现在正好遇到了要学习的东西,因为重新找了工作,所以新公司使用的技术需要自己快速上手,那么快速学习就是必须掌握的一门技能了.下面根据之前的博文展示如何快速入门一门新技术.(本篇很多内容都摘抄自网络)1.gRPC是什么?搜寻百科博客之类的可以查看到很多资料.Past...

2018-05-02 15:29:41

阅读数 330

评论数 0

gRPC客户端创建和调用原理解析

1. gRPC客户端创建流程1.1. 背景gRPC是在HTTP/2之上实现的RPC框架,HTTP/2是第7层(应用层)协议,它运行在TCP(第4层 - 传输层)协议之上,相比于传统的REST/JSON机制有诸多的优点:基于HTTP/2之上的二进制协议(Protobuf序列化机制)一个连接上可以多路...

2018-05-02 15:23:36

阅读数 735

评论数 0

GRPC golang版源码分析之客户端(二)

Table of Contents1. 前言2. 负载均衡3. 相关链接1 前言前面一篇文章分析了一个grpc call的大致调用流程,顺着源码走了一遍,但是grpc中有一些特性并没有进行分析,这篇blog主要就是分析负载均衡这个特性。负载均衡可以让你在使用grpc调用方法是连接不同的服务器。在启...

2018-05-02 15:20:41

阅读数 588

评论数 0

GRPC golang版源码分析之客户端(一)

Table of Contents1. 前言2. 源码目录浏览3. 客户端4. 相关链接1 前言grpc是一个通用的rpc框架,用google实现,当然也有go语言的版本。在工作中主要用到这个库,所以看看源码加强自己对框架的了解。目前来说主要分析的都以go版本为主(并没有看其他语言版本).由于个人...

2018-05-02 15:19:23

阅读数 1290

评论数 0

gRPC & Protocol Buffer 构建高性能接口实践

介绍如何使用 gRPC 和 ProtoBuf,快速了解 gRPC 可以参考这篇文章第一段:gRPC quick Start。接口开发是软件开发占据举足轻重的地位,是现代软件开发之基石。体现在无论是前后端分离的 Web 前端还是移动客户端,乃至基于不同系统、编程语言构建的软件系统之间,API 都是充...

2018-04-05 14:06:55

阅读数 243

评论数 0

gRPC初体验

gRPC是由Google主导开发的RPC框架,使用HTTP/2协议并用ProtoBuf作为序列化工具。其客户端提供Objective-C、Java接口,服务器侧则有Java、Golang、C++等接口,从而为移动端(iOS/Androi)到服务器端通讯提供了一种解决方案。 当然在当下的环境下,这种...

2018-03-15 06:25:19

阅读数 55738

评论数 2

gRPC的那些事 - streaming

gRPC是一个高性能、通用的开源RPC框架,其由Google主要面向移动应用开发并基于HTTP/2协议标准而设计,基于ProtoBuf(Protocol Buffers)序列化协议开发,且支持众多开发语言。 gRPC提供了一种简单的方法来精确地定义服务和为iOS、Android和后台支持服务自动生...

2018-03-15 06:22:24

阅读数 2920

评论数 1

提示
确定要删除当前文章?
取消 删除