首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏开源 & 技术分享

    GRPC: 实现 gRPC 代理

    [up-c7bba324e0c2cbccc0daaf5aa92852efd6d.png] 介绍 本文介绍如何通过 rk-boot 快速搭建 gRPC 代理。 什么是 gRPC 代理? gRPC 代理会接受 gRPC 请求,并根据用户策略转发至其他 gRPC 服务。应用场景不多,比如根据环境参数,把请求转发到不同的 gRPC 服务。 gRPC 代理有一个限制。 1.创建 proxy/boot.yaml & proxy/main.go 监听 8080 端口,proxy 服务没有实现任何 gRPC 方法,如果 gRPC 请求的 Metadata 中包含 domain /rk-grpc/interceptor/log/zap" "go.uber.org/zap" "google.golang.org/grpc" "google.golang.org/grpc/metadata

    2.9K40编辑于 2021-12-13
  • 来自专栏CSDN迁移

    gRPCgRPC-Web

    gRPC 一、gRPC 二、proto-buf 三、gRPC-Web 一、gRPC 官方指南 由 google 开发,是一款语言中立、平台中立、开源的远程过程调用(RPC)系统。 而是在例子客户端和服务端里,我们 require gRPC 库,然后用它的 load() 方法: var grpc = require('grpc'); var hello_proto = grpc.load 与 REST 的区别 gRPC:一个客户端应用程序通过 Protocol Buffers 与一个 gRPC 后端服务器通信,然后这个服务器也通过 Protocol Buffers 与其他的 gRPC gRPC-Web是一个标准化协议,它解决了这个问题,可以在浏览器中使用gRPC。 =commonjs,mode=grpcwebtext:./ 在Vue中使用gRPC Client示例如下,向后台发起register的gRPC请求: import * as grpc_web from

    3.4K11编辑于 2022-10-25
  • 来自专栏ccf19881030的博客

    gRPC

    gRPC 本文转载自http://www.topgoer.com/ - gRPC 安装 gRPC简介 Protobuf⇢Go转换 Protobuf语法 小案例 OpenSSL

    83420发布于 2020-11-24
  • 来自专栏grpc

    深入了解grpc(一):grpc介绍

    因此,诞生了gRPC,一种用于构建分布式应用程序和微服务的现代进程间通信方式。《深入了解grpc》系列文章从以下几个方面来讲解grpc技术:grpc介绍。 包括什么是grpc、进程间通信的演进、grpc的优缺点、grpc与其他协议的对比。grpc原理。包括框架架构、通信流程、编解码以及支持的四种通信方式。grpc-go实现细节。 本篇文章讲述第一个方面,即“grpc介绍”。后续会用4-5篇文章讲述另外两方面。什么是gRPCgRPC是一种进程间通信技术。 gRPC的优势gRPC带来的优势是越来越多地公司采用 gRPC 的关键。这些优势包括:实现的进程间通信方式高效。 gRPC的缺点与任何技术一样,gRPC 也有一些缺点:它可能不适合面向外部的服务。

    10.1K20编辑于 2022-09-12
  • 来自专栏加菲的博客

    gRPC】 在.Net core中使用gRPC

    1.gRPC是什么? gRPC的原生支持。 我们可以创建一个gRPC服务端项目。这个模板已经引入了Grpc.AspNetCore包。你可以在模板中搜到的。 6.配置无TLS的gRPC 6.1 服务端配置 gRPC只支持HTTP/2。 7.配置TLS的gRPC 毫无疑问,微服务场景之外的gRPC服务还是需要TLS的。

    1.2K20编辑于 2022-06-23
  • 来自专栏吴亲强的深夜食堂

    gRPC-shop:什么是 gRPC(一)

    gRPC-shop:什么是 gRPC(一) 在正式写grpc-shop之前,我们需要先花几篇文章介绍一些基础概念。 在介绍gRPC之前我们先了解下什么是RPC。 什么是 RPC? RPC 和 gRPC 有什么关系? gRPC是由 google开发的一个高性能、通用的开源RPC框架,主要面向移动应用开发且基于HTTP/2协议标准而设计,同时支持大多数流行的编程语言。 gRPC 是如何进行远程调用的? 官网有一张图: 从上图和文档中可以看出,用gRPC来进行远程调用服务,客户端(client) 仅仅需要gRPC Stub(为啥叫存根?)  ,通过Proto Request向gRPC Server发起服务调用,然后 gRPC Server通过Proto Response(s)将调用结果返回给调用的client。 至于上面这段逻辑gRPC里面做了啥,有哪些调用方式,介绍完pb再写。 总结 第一篇文章主要介绍了RPC是什么,以及一些gRPC的基础概念。

    87941发布于 2021-08-25
  • 来自专栏code人生

    Why gRPC ?

    gRPCgRPC Remote Procedure Call)是由 Google 开发的开源 RPC 框架,它基于 HTTP/2 标准,使用 Protocol Buffers 作为接口定义语言(IDL gRPC 提供了一种高效、跨语言、跨平台的远程过程调用(RPC)解决方案,被广泛应用于构建分布式系统和微服务架构。以下是选择使用 gRPC 的一些主要原因:1. 性能高效HTTP/2 协议:gRPC 使用 HTTP/2 协议作为底层的传输协议,相比于 HTTP/1.x 具有更低的延迟、更高的效率和更好的性能。 gRPC 不仅可以在不同的编程语言中使用,还可以在不同的操作系统上运行,包括 Linux、Windows、macOS 等。3. 自动化工具支持gRPC 提供了丰富的工具,如 Protocol Buffers 编译器、gRPC 插件等,使得接口的生成和维护更加方便。支持使用工具生成客户端和服务端的代码,避免手动编写重复性的代码。

    61510编辑于 2023-11-25
  • 来自专栏golang云原生new

    gRPC介绍

    gRPC介绍 gRPC是什么? RPC和RESTful的区别是什么? gRPC的特性是什么? gRPC的数据交互模式是怎么样的? 数据的序列化方式 - protobuf 简单介绍protobuf的结构定义包含的3个关键字 一个DEMO gRPC gRPC介绍 gRPC是什么? RPC和RESTful的区别是什么? gRPC是可以跨语言开发的 在gRPC客户端可以直接调用不同服务器上的远程程序,使用姿势看起来就像调用本地过程调用一样,很容易去构建分布式应用和服务。 "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status " ) func main() { // 连接grpc服务 conn, err := grpc.Dial(":8888", grpc.WithInsecure()) if err

    83240编辑于 2023-02-16
  • 来自专栏golang云原生new

    ​​【gRPC】来聊一聊gRPC认证

    gRPC认证 我们再来回顾一下gRPC的基本结构 gRPC 是一个典型的C/S模型,需要开发客户端 和 服务端,客户端与服务端需要达成协议,使用某一个确认的传输协议来传输数据,gRPC通常默认是使用 " "google.golang.org/grpc/credentials" // 引入grpc认证包 ) const ( // Address gRPC服务地址 Address = " "google.golang.org/grpc/credentials" // 引入grpc认证包 "google.golang.org/grpc/grpclog" ) const ( " "google.golang.org/grpc/credentials" // 引入grpc认证包 "google.golang.org/grpc/grpclog" ) const ( // /x/net/context" "google.golang.org/grpc" "google.golang.org/grpc/credentials" // 引入grpc认证包 ) const

    1.7K20编辑于 2023-02-16
  • 来自专栏跟着asong学Golang

    grpc实践-学会grpc就是这么简单

    1 GRPC gRPC是Google开发的高性能、通用的开源RPC框架,其由Google主要面向移动应用开发并基于HTTP/2协议标准而设计,基于ProtoBuf(Protocol Buffers)序列化协议开发 gRPC基于以下理念:定义一个服务,指定其能够被远程调用的方法(包含参数和返回类型)。在服务端实现这个接口,并运行一个gRPC服务器来处理客户端调用。在客户端拥有一个存根能够像服务端一样的方法。 下面讲一个简单的例子来看看一gRPC的具体使用。 (grpc, &Server{}) if err := grpc.Serve(lis); err ! " ) func main() { conn,err := grpc.Dial(address,grpc.WithInsecure(),grpc.WithBlock()) if err

    70210编辑于 2022-07-07
  • 来自专栏开源 & 技术分享

    gRPC: 如何让 gRPC 提供 Swagger UI?

    为了能让 gRPC 提供 REST API,我们需要使用 grpc-gateway 我们需要使用 protoc-gen-openapiv2 从 proto 文件,创建 Swagger UI 所需要的文件 从 proto 文件,生成 GRPC 相关的 .go 文件 Install protoc-gen-grpc-gateway 从 proto 文件,生成 grpc-gateway 相关的 .go 文件 具体操作方式可参考我的前一篇文章:【GRPC: 使用 Buf 快速编译 GRPC proto 文件】 或者访问:【https://rkdev.info/cn/docs/bootstrapper/user-guide /grpc-golang/basic/grpc-gateway/】 安装 go get github.com/rookie-ninja/rk-boot go get github.com/rookie-ninja needs to be installed, generate grpc go files based on proto files - name: go-grpc out: api/gen

    4K30编辑于 2021-12-13
  • 来自专栏开源 & 技术分享

    gRPC: gRPC 接口与 Restful API 混合使用

    这里我们并不是把 gRPC 接口转换成 Restful API,而是让不同的 gRPC 接口与 Restful API 共存。 grpc-gateway 已经支持了此功能。 我们将会使用 rk-boot 来启动 gRPC 服务。 快速开始 这个例子中,不会编写任何 gRPC 接口,我们会在 gRPC 服务中加入一个独立的 Restful API。 1.创建 boot.yaml --- grpc: - name: greeter # Name of grpc entry port: 8080 # Port of grpc entry enabled: true # Enable grpc entry 2.创建 main.go 在 grpc-gateway

    1.8K40编辑于 2021-12-13
  • 来自专栏实战docker

    gRPC学习之五:gRPC-Gateway实战

    GO GO的gRPC开发环境准备 初试GO版gRPC开发 实战四类服务方法 gRPC-Gateway实战 gRPC-Gateway集成swagger 本篇概览 本文《gRPC学习》系列的第五篇,gRPC 常用于服务端之间的相互调用,如果想把服务暴露给前端,虽然动手修改服务端也能实现,但似乎增加了不少工作量,此时还可以选择gRPC-Gateway方式来快速将gRPC服务以http的方式暴露出来; gRPC-Gateway 调用原来的gRPC服务: 本文展示了gRPC-Gateway环境搭建、开发、验证的整个过程,由以下步骤组成: 极速搭建gRPC-Gateway环境; 编写proto文件; 根据proto文件生成gRPC 环境搭建好: 在CentOS7部署和设置GO GO的gRPC开发环境准备 极速搭建gRPC-Gateway环境 所谓的搭建gRPC-Gateway环境,其实是完成以下三件事: 在搭建环境时参考了一些网上的文章 的时候,上述两处配置会被识别到并生成对应的代码; 根据proto文件生成gRPCgRPC-Gateway源码 proto文件编写完成,接下来是生成gRPCgRPC-Gateway的源码; 生成gRPC

    1.9K21编辑于 2022-05-06
  • 来自专栏ccf19881030的博客

    gRPC简介

    gRPC简介 gRPC简介 总览 使用Protocol Buffers Protocol buffer版本 支持的语言 本文翻译自 Introduction to gRPC gRPC简介 gRPC 该页面向您介绍gRPC和protocol buffers。 gRPC可以将protocol buffers用作其接口定义语言(IDL)和其基础消息交换格式。 如果您不熟悉gRPC和/或protocol buffers,请阅读此内容! 如果您只是想深入了解gRPC的实际效果,请选择一种语言并尝试使用其快速入门。 与许多RPC系统一样,gRPC围绕定义服务的思想,可通过其参数和返回类型指定远程调用的方法。 在服务器端,服务器实现此接口并运行gRPC服务器以处理客户端调用。 将protoc与特殊的gRPC插件一起使用,以从proto文件生成代码:您将生成生成的gRPC客户端和服务器代码,以及用于填充,序列化和检索消息类型的常规protocol buffer代码。

    1.2K30发布于 2020-11-24
  • 来自专栏CNCF

    gRPC项目

    名称:gRPC 类型:远程过程调用 说明:gRPC是一个现代的、开源的、高性能的远程过程调用(RPC)框架,可以在任何地方运行。 网站/代码: https://grpc.io/ https://github.com/grpc 文档: https://grpc.io/docs/ 博客: https://grpc.io/blog/ 即时交流 : https://gitter.im/grpc/grpc 邮件列表: grpc.io(https://groups.google.com/forum/#! forum/grpc-io) 订阅邮件列表,也可以发电邮到: grpc-io+subscribe@googlegroups.com

    74420发布于 2019-12-06
  • 来自专栏田守枝的技术博客

    漫谈gRPC

    本文概括性的介绍gRPC,包括gRPC的起源,核心特性,生态体系,以及一些知名开源软件对gRPC的使用,最后总结gRPC与netty、dubbo等框架的区别,目的是让读者从整体上对gRPC有一个相对全面的认知 2 gRPC介绍 gRPC是一个现代的开源高性能RPC框架,可以在任何环境中运行。 gRPC生态体系中的组件,围绕着gRPC来开发的。 gRPC,这些公司对gRPC的使用,本身就证明了其强大稳定与可靠。 6 总结 本文概括性的介绍gRPC,包括gRPC的起源,核心特性,生态体系,以及一些知名开源软件对gRPC的使用,目的是让读者从整体上对gRPC有一个相对全面的认知。

    4.4K01发布于 2019-07-11
  • 来自专栏python前行者

    python grpc

    gRPC gRPC是一个高性能、通用的开源RPC框架,其由Google主要由开发并基于HTTP/2协议标准而设计,基于ProtoBuf(Protocol Buffers)序列化协议开发,且支持众多开发语言 gRPC官网 https://www.grpc.io/docs/quickstart/python/ grpc-git:https://github.com/grpc/grpc gRPC四种通信方式 当前路径 # grpc_python_out指定xxxx_pb2_grpc.py文件的输出路径,我们指定为./ 当前路径 # grpc_tools.protoc 这是我们的工具包,刚刚安装的 # -I参数指定协议文件的查找目录 _grpc _HOST = '127.0.0.1' _PORT = '19999' def main(): with grpc.insecure_channel("{0}:{1}".format 官方文档中文版:http://doc.oschina.net/grpc?

    1.1K20发布于 2020-05-12
  • 来自专栏code人生

    gRPC with JWT

    gRPC 中使用 JWT(JSON Web Tokens)进行身份验证是一种常见的做法,它可以帮助你确保请求方的身份和权限。 下面是一种使用 gRPC 和 JWT 进行身份验证的步骤: 1.生成和签发 JWT: 在用户登录成功后,你需要生成一个 JWT 并将其签发给用户。 2.在 gRPC 的上下文中传递 JWT: 当客户端发送 gRPC 请求时,可以将 JWT 放置在 gRPC 请求的元数据(Metadata)中,作为请求的一部分。 3 files server端 跟 client 端约定内容如下: •token有效期为半小时•iss使用gRPC token•sub使用gRPC example server 代码如下: package = nil { panic(err) } conn, err := grpc.Dial("localhost:50001", grpc.WithTransportCredentials

    74420编辑于 2023-10-19
  • 来自专栏会呼吸的Coder

    初探gRPC

    什么是gRPC gRPC是一种进程间通信技术。在 gRPC 中,客户端可以直接调用不同机器上的服务端的方法,就像调用本地函数一样。 gRPC被设计成支持多种编程语言。使用protocol buffer的服务定义与语言无关。因此,你可以选择grpc支持的任意语言,并与任何现有的 gRPC 服务或客户端进行通信。 支持双向流式传输。 与传统的 REST/HTTP 协议相比,gRPC 生态系统仍然相对较小。浏览器和移动应用程序对 gRPC 的支持仍处于初级阶段。 gRPC的四种消息流 ·gRPC 支持四种通信模式,分别是简单 RPC、服务端流式 RPC、客户端流式 RPC 和双向流式 RPC。 简单RPC 在简单的 RPC 中,在 gRPC server端和 gRPC client端之间的通信总是一个请求对应一个响应。

    85210编辑于 2023-03-03
  • 来自专栏开源 & 技术分享

    gRPC: 如何让 gRPC 提供 Restful API 服务?

    [up-c1bbeca9c1072ff2f7a4fcb7f459030fd3c.png] 介绍 本文将介绍如何让一个 gRPC 服务,同时提供 gRPC 和 Restful API。 从 proto 文件,生成 GRPC 相关的 .go 文件 Install protoc-gen-grpc-gateway 从 proto 文件,生成 grpc-gateway 相关的 .go 文件 和 gRPC-gateway,非常方便。 为了能够验证,我们会添加 gRPC 日志拦截器。 中,我们需要了解 gateway 到 grpc 的错误映射,即 http 到 grpc 的错误映射。

    3.4K95编辑于 2021-12-13
领券