草庐IT

Fast-GRPC

全部标签

[grpc快速入门] 一 grpc生成与调用

下载通用编译器地址:https://github.com/protocolbuffers/protobuf/releases选择对应的版本,解压后将文件夹下bin目录配置到环境变量安装go编译器$goinstallgoogle.golang.org/protobuf/cmd/protoc-gen-go$goinstallgoogle.golang.org/grpc/cmd/protoc-gen-go-grpc创建文件夹,创建两个项目记得gomodinit项目名然后gomodtidyDemo.proto内容//这个就是protobuf的中间文件//指定的当前proto语法的版本,有2和3synt

[grpc快速入门] 一 grpc生成与调用

下载通用编译器地址:https://github.com/protocolbuffers/protobuf/releases选择对应的版本,解压后将文件夹下bin目录配置到环境变量安装go编译器$goinstallgoogle.golang.org/protobuf/cmd/protoc-gen-go$goinstallgoogle.golang.org/grpc/cmd/protoc-gen-go-grpc创建文件夹,创建两个项目记得gomodinit项目名然后gomodtidyDemo.proto内容//这个就是protobuf的中间文件//指定的当前proto语法的版本,有2和3synt

.NetCore|.Net6 gRPC服务开发及本地调试

前言最近在项目中实装应用了gRPC技术,本着能把技术描述出来给别人能看的懂的思想及作为自己学习笔记的心态编写了此文。因为在实际项目中是webApi接口和gRPC接口使用在同一项目服务中,所以本文的例子也是建立在webApi项目而非控制台项目中。1、gRPC介绍gRPC是Google发起的一个开源远程过程调用系统。该系统基于HTTP/2协议传输,使用ProtocolBuffers作为接口描述语言。其他功能:认证双向流流控制超时最常见的应用场景是:微服务框架下,多种语言服务之间的高效交互。将手机服务、浏览器连接至后台产生高效的客户端库-- 维基百科微软官网介绍:gRPC是一种与语言无关的高性能远程

.NetCore|.Net6 gRPC服务开发及本地调试

前言最近在项目中实装应用了gRPC技术,本着能把技术描述出来给别人能看的懂的思想及作为自己学习笔记的心态编写了此文。因为在实际项目中是webApi接口和gRPC接口使用在同一项目服务中,所以本文的例子也是建立在webApi项目而非控制台项目中。1、gRPC介绍gRPC是Google发起的一个开源远程过程调用系统。该系统基于HTTP/2协议传输,使用ProtocolBuffers作为接口描述语言。其他功能:认证双向流流控制超时最常见的应用场景是:微服务框架下,多种语言服务之间的高效交互。将手机服务、浏览器连接至后台产生高效的客户端库-- 维基百科微软官网介绍:gRPC是一种与语言无关的高性能远程

Maglev : A Fast and Reliable Software Network Load Balancer (using Consistent Hashing)

 转自:https://www.evanlin.com/maglev/  2016年6月2日前言(为什么想读这一篇论文)这一篇论文吸引我注意的原因是,ConsistentHashing本来的特性就是作为分布式缓存之用。谷歌将他们的负载均衡器(代号:Maglev)发布他的实作方式,里面将一致的哈希并做了一些小改版来符合他们的需求。此前我一直在进一步学习,因为谷歌很好地利用了它的能力,因此更有效地提高了它的能力。就想要阅读这一篇论文。本篇导读主要内容如下:介绍Maglev的特性和改进的部分回顾一致哈希介绍磁悬浮哈希原始论文Maglev:快速可靠的软件网络负载均衡器导读什么是磁悬浮?Maglev是G

Maglev : A Fast and Reliable Software Network Load Balancer (using Consistent Hashing)

 转自:https://www.evanlin.com/maglev/  2016年6月2日前言(为什么想读这一篇论文)这一篇论文吸引我注意的原因是,ConsistentHashing本来的特性就是作为分布式缓存之用。谷歌将他们的负载均衡器(代号:Maglev)发布他的实作方式,里面将一致的哈希并做了一些小改版来符合他们的需求。此前我一直在进一步学习,因为谷歌很好地利用了它的能力,因此更有效地提高了它的能力。就想要阅读这一篇论文。本篇导读主要内容如下:介绍Maglev的特性和改进的部分回顾一致哈希介绍磁悬浮哈希原始论文Maglev:快速可靠的软件网络负载均衡器导读什么是磁悬浮?Maglev是G

解决go-micro与其它gRPC框架之间的通信问题

在之前的文章中分别介绍了使用gRPC官方插件和go-micro插件开发gRPC应用程序的方式,都能正常走通。不过当两者混合使用的时候,互相访问就成了问题。比如使用go-micro插件生成的gRPC客户端访问基于gRPC官方插件创建的服务端时就会出现如下错误:{"id":"go.micro.client","code":501,"status":"NotImplemented"}经过一番探索,发现是因为go-micro的插件生成代码时丢弃了proto定义中的package,客户端API和服务端API都没有使用这个package,所以它自己也能逻辑自洽,但是和其它框架或者语言的gRPC服务通信时就

解决go-micro与其它gRPC框架之间的通信问题

在之前的文章中分别介绍了使用gRPC官方插件和go-micro插件开发gRPC应用程序的方式,都能正常走通。不过当两者混合使用的时候,互相访问就成了问题。比如使用go-micro插件生成的gRPC客户端访问基于gRPC官方插件创建的服务端时就会出现如下错误:{"id":"go.micro.client","code":501,"status":"NotImplemented"}经过一番探索,发现是因为go-micro的插件生成代码时丢弃了proto定义中的package,客户端API和服务端API都没有使用这个package,所以它自己也能逻辑自洽,但是和其它框架或者语言的gRPC服务通信时就

gRPC之.Net6中的客户端和服务端共用proto协议文件

1、?说明在上一篇文章gRPC之.Net6中的初步使用介绍中,我们简单的介绍了gRPC在服务端、客户端以及Web项目中的使用。有一个问题,不知道大家发现没有,就是不管在服务端项目还是客户端项目中,我们都需要创建相同的proto协议文件,这样就会显得很麻烦,有没有一种办法只创建一次proto协议文件呢?答案是肯定的:有。在介绍实现之前,建议大家先查看一下前一篇文章gRPC之.Net6中的初步使用介绍,方便后面关联性的讲解。2、?实现2.1、?新建类库项目首先我们新建一个名称为Quber.Grpc.Common的类库项目,目的就是用于存放proto协议文件和协议文件生成的对应类文件,如下图所示:2

gRPC之.Net6中的客户端和服务端共用proto协议文件

1、?说明在上一篇文章gRPC之.Net6中的初步使用介绍中,我们简单的介绍了gRPC在服务端、客户端以及Web项目中的使用。有一个问题,不知道大家发现没有,就是不管在服务端项目还是客户端项目中,我们都需要创建相同的proto协议文件,这样就会显得很麻烦,有没有一种办法只创建一次proto协议文件呢?答案是肯定的:有。在介绍实现之前,建议大家先查看一下前一篇文章gRPC之.Net6中的初步使用介绍,方便后面关联性的讲解。2、?实现2.1、?新建类库项目首先我们新建一个名称为Quber.Grpc.Common的类库项目,目的就是用于存放proto协议文件和协议文件生成的对应类文件,如下图所示:2