随笔 - 934, 文章 - 0, 评论 - 247, 阅读 - 344万

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

随笔分类 -  gRPC

摘要:之前装过 gRPC 的各个测试版本,有些残余的文件,正式版的安装和之前残留的清除整理如下: 安装 go 版本的 gRPC go 的安装略过。需要 go 1.5 以上版本。 goversiongoversiongo1.7darwin/amd64gogRPC go get -u -v google.golang.org/... 阅读全文

posted @ 2016-08-27 12:47 蝈蝈俊 阅读(2581) 评论(0) 推荐(0) 编辑

摘要:protoc 命令来自 https://github.com/google/protobuf, 由于这里没有 go 的产生代码, go的产生代码在 protoc-gen-go (https://github.com/golang/protobuf/)这里。 protocgoout=./go/./proto/helloworld.proto protoc --go_o... 阅读全文

posted @ 2016-05-19 16:56 蝈蝈俊 阅读(6579) 评论(0) 推荐(2) 编辑

摘要:要让protoc使用插件,需要做下面事情: Place the plugin binary somewhere in the PATH and give it the name "protoc-gen-NAME" (replacing "NAME" with the name of your plugin). If you then invoke protoc with the paramete... 阅读全文

posted @ 2016-05-13 16:50 蝈蝈俊 阅读(3980) 评论(0) 推荐(2) 编辑

摘要:RPC(远程过程调用) 的架构最常见的是“动态代理”方式,事先定义好接口,用一个代理假装实现了这个接口(真正的实现放在服务端),供客户端调用,代理内部将该方法调用封装成一个网络请求送到服务端。服务端根据参数找到对应的注册好的对象处理,返回给客户端。 官网的gRPC的宏观的架构图如下: 客户端调用 stub 对象,所谓 stub 对象就类似代理对象一样。作为跟服务通讯的封装抽象。 在 gR... 阅读全文

posted @ 2016-05-12 11:21 蝈蝈俊 阅读(4252) 评论(0) 推荐(0) 编辑

摘要:使用 protobuf 作为通讯内容序列化的简单例子请看:http://www.cnblogs.com/ghj1976/p/5458176.html 。 本文是使用 json 做为内容序列化的简单例子。 新建例子项目,从 proto 文件产生 通讯包的方式跟之前的完全一样。 本文的源码在: https://github.com/grpc/grpc-java/tree/master/exam... 阅读全文

posted @ 2016-05-05 15:25 蝈蝈俊 阅读(4088) 评论(1) 推荐(0) 编辑

摘要:新建一个普通的Maven项目: 配置pom文件,导入gRPC的依赖和插件 pom 中增加外部依赖 io.grpc grpc-all 0.13.2 注意,下面的增加 maven 插件: protobuf-maven-plugin: protobuf 的插件,不是 gRPC的插件,产生的代码只会是 pro... 阅读全文

posted @ 2016-05-04 13:58 蝈蝈俊 阅读(11966) 评论(1) 推荐(0) 编辑

摘要:编译 protoc-gen-grpc-java插件 的文档在: https://github.com/grpc/grpc-java/tree/master/compiler 编译的步骤: Change to the compiler directory: cdGRPC_JAVA_ROOT/compiler To compile the plugin: $ ../grad... 阅读全文

posted @ 2016-05-03 14:45 蝈蝈俊 阅读(19387) 评论(2) 推荐(0) 编辑

摘要:安装 protoc (The protocol compiler)是由C++写的,支持的 C++、Java、Python、Objective-C、C#、JavaNano、JavaScript、Ruby、PHP 的实现都在 https://github.com/google/protobuf 这个项目中, 例外的是 Go 的实现是在 https://github.com/golang/protob... 阅读全文

posted @ 2016-04-27 16:11 蝈蝈俊 阅读(2660) 评论(0) 推荐(0) 编辑

摘要:protoc 命令的获得 源码在 https://github.com/google/protobuf , 如果不想自己编译获得最新版本,则可以下载官方编译好的各个平台的,下载地址:https://github.com/google/protobuf/releases ,注意不是带语言后缀的文件,那是源码,如下图: 下载后的解压缩包含的内容如下(以mac下为例) 我们通过 which... 阅读全文

posted @ 2016-04-26 16:22 蝈蝈俊 阅读(115219) 评论(1) 推荐(0) 编辑

摘要:本文的代码例子来自:https://github.com/grpc/grpc-java 定义服务 这一步与其他语言完全一样,需要定义gRPC的服务、方法、request和response的类型。 完整的proto定义代码在:grpc-java/examples/src/main/proto/route_guide.proto 在proto中,下面几个定义是为我们生成 Java 类所特有的... 阅读全文

posted @ 2016-04-20 11:03 蝈蝈俊 阅读(10239) 评论(0) 推荐(0) 编辑

摘要:由于 Protocol Buffers 3 的正式版还没有发布,在官网(https://developers.google.com/protocol-buffers/docs/downloads)目前只能下载到 2.6.1 的版本。 要下载 PB3 ,需要在 https://github.com/google/protobuf 的 release 中下载(https://github.com/g... 阅读全文

posted @ 2016-04-13 17:00 蝈蝈俊 阅读(886) 评论(0) 推荐(0) 编辑

摘要:前置条件: 获取 gRPC-go 源码 gogetgoogle.golang.org/grpc cd GOPATH/src/google.golang.org/grpc/examples/helloworld cd $GOPATH/src/google.golang.org/grpc/examples/route_guid... 阅读全文

posted @ 2016-04-13 15:46 蝈蝈俊 阅读(3923) 评论(1) 推荐(0) 编辑

摘要:gRPC是一个高性能、通用的开源RPC框架,其由Google主要面向移动应用开发并基于HTTP/2协议标准而设计,基于ProtoBuf(Protocol Buffers)序列化协议开发,且支持众多开发语言。 下面我们就从 HTTP2、ProtoBuf 3、 Nginx、gRPC 的角度看他们的 RoadMAP。 HTTP2 2015年5月HTTP2协议正式版发布: RFC7540、RFC75... 阅读全文

posted @ 2015-12-29 21:53 蝈蝈俊 阅读(710) 评论(0) 推荐(0) 编辑

摘要:gRPC是一个高性能、通用的开源RPC框架,其由Google主要面向移动应用开发并基于HTTP/2协议标准而设计,基于ProtoBuf(Protocol Buffers)序列化协议开发,且支持众多开发语言。 下面我们就从 HTTP2、ProtoBuf 3、 Nginx、gRPC 的角度看他们的 RoadMAP。 HTTP2 2015年5月HTTP2协议正式版发布: RFC7540、RFC75... 阅读全文

posted @ 2015-07-19 21:28 蝈蝈俊 阅读(1088) 评论(0) 推荐(0) 编辑

摘要:gRPC的特征: 基于 HTTP/2, 继而 提供了连接多路复用、Body 和 Header 压缩等机制。可以节省带宽、降低TCP链接次数、节省CPU使用和延长电池寿命等。 支持主流开发语言(C, C++, Python, PHP, Ruby, NodeJS, C#, Objective-C、Golang、Java) IDL (Interface Definition La... 阅读全文

posted @ 2015-06-19 09:45 蝈蝈俊 阅读(5438) 评论(1) 推荐(0) 编辑

摘要:在 HTTP2 协议正式开始工作前, 如果已经知道服务器是 HTTP2 的服务器, 通讯流程如下: 客户端必须首先发送一个连接序言,其逻辑结构: PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n // 纯字符串表示,翻译成字节数为24个字节 SETTINGS帧 // 其负载可能为空 发送完毕... 阅读全文

posted @ 2015-06-18 18:34 蝈蝈俊 阅读(2325) 评论(0) 推荐(0) 编辑

摘要:HTTP/2 对消息头采用 HPACK 进行压缩传输,能够节省消息头占用的网络的流量。如何理解 HPACK 压缩呢? 如果我们约定将常用的请求头的参数用一些特殊的编号来表示,比如 GET /index.html 用一个 1 来表示,POST /index.html 用 2 来表示。那么是不是可以节省很多字节? 为 HTTP/2 的专门量身打造的 HPACK 便是类似这样的思路延伸。它使... 阅读全文

posted @ 2015-06-18 17:29 蝈蝈俊 阅读(3303) 评论(0) 推荐(2) 编辑

摘要:HTTP2于2015年2月28日正式通过IETF组织批准发布,正式定稿。有关它的内容可以参考: HTTP2 概述 http://www.cnblogs.com/ghj1976/p/4552583.html 。 在HTTP2 的网络通讯中, Frame 是 通讯中的最小传输单位,至少含有一个 Frame header,能够表示它属于哪一个 Stream。一个具体的请求类似如下: ... 阅读全文

posted @ 2015-06-16 17:46 蝈蝈俊 阅读(11579) 评论(0) 推荐(1) 编辑

摘要:gRPC将是未来google所有客户端的库标准(DevoxxFR), 这句话的出处: https://twitter.com/chanezon/status/585724143003402240 已经实现好的 Google APIs 可以在这里看到: https://github.com/google/googleapis 其中用到的 protobuf 3 虽然正式... 阅读全文

posted @ 2015-06-12 16:32 蝈蝈俊 阅读(1060) 评论(0) 推荐(0) 编辑

摘要:本文的例子代码在: https://github.com/grpc/grpc-go/tree/master/examples/route_guide 功能就类似目前LBS一样,在每个位置上报一些文字信息, 上报方式有多种。 在 .proto 文件中定义服务 在 .proto 文件中定义一个服务很简单, 就像如下的代码: service RouteGuide { ... }... 阅读全文

posted @ 2015-06-11 16:19 蝈蝈俊 阅读(5623) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示