背景  最近项目需要在实现一个视频加工的功能主要是用的ffmpeg命令行工具后面会出文章讲一讲,这里面有用到协程,部门老大review代码后把我屌 了?,问我怎么没对协程设置超时时间。我当时是用的WaitGroup包,去等待协程结果的,这样会有一个问题就是如果协程处理时间太长就会出现协程堆积的情况爆cup、爆内存,这个问题在我们目前的生产环境是存在的并且有点严重,因为一直都有开发任务所以一直没去处
转载 2024-03-18 15:17:36
178阅读
目录一、压缩 1.Server端所有方法压缩 2.Server单独方法压缩 3.Client请求内容压缩 二、使用JSON通信 1.方法描述使用JSON编译 2.JSON编译具体过程 三、手动流量控制 1.Consuming Side 2.Producing Side 四、系列文章本文继续整理gRPC的使用,走查解读官方给出的压缩示例、使用J
转载 2024-04-14 17:06:30
0阅读
错误现象描述:在使用c++的客户端向golang的服务端发送远程调用时,显示:/home/zry/gRPC/grpc-v1.45.2/examples/cpp/DeviceData/greeter_client.cc83 12: unknown service DeviceData.DeviceDataService Greeter 接收到: RPC 失败这里的unknown service De
文章目录工作流程工作模式http模式服务器模式 本篇文章旨在通过学习rpc包和github上的一个rpc小项目,熟悉和学习golang中各个包的使用 工作流程通过阅读官方文档,了解了rpc的基本工作模式第一步,建立一个用于远程调用的包,存放仅供远程调用使用的方法和类型-第二步,实例化包的对象,并在rpc中注册该包,以便之后的调用第三步,建立一个服务端,接收客户端的请求,使用编码器解析请求后,根
转载 2024-06-24 05:57:27
14阅读
golang中Context的使用场景context在Go1.7之后就进入标准库中了。它主要的用处如果用一句话来说,是在于控制goroutine的生命周期。当一个计算任务被goroutine承接了之后,由于某种原因(超时,或者强制退出)我们希望中止这个goroutine的计算任务,那么就用得到这个Context了。关于Context的四种结构,CancelContext,TimeoutContex
转载 2024-08-06 09:27:42
118阅读
概述    context是Go中广泛使用的程序包,由Google官方开发,在1.7版本引入。它用来简化在多个go routine传递上下文数据、(手动/超时)中止routine树等操作,比如,官方http包使用context传递请求的上下文数据,gRpc使用context来终止某个请求产生的routine树。每个Context应该视为只读的,通过WithCancel、With
gRPC 是一个高性能、通用的开源RPC框架,其由 Google 主要面向移动应用开发并基于HTTP/2 协议标准而设计,基于 ProtoBuf(Protocol Buffers) 序列化协议开发,且支持众多开发语言。本文作者深入研究了 gRPC 协议,对协议本身作出解构。gRPC 是基于 HTTP/2 协议的,要深刻理解 gRPC,理解下 HTTP/2 是必要的,这
转载 2024-04-12 05:24:16
0阅读
回顾 在系列二中,我们一起学习了gRPC如何使用Protobuf来组织数据,达到高效编解码、高压缩率的目标。本文我们将更进一步,看看这些数据是如何在网络中被传输的,达到以更低的资源实现更高效传输的目标。内容将围绕以下几点展开:HTTP2 要解决的问题,HTTP1.1的缺点 HTTP2 的原理,它是如何降低传输成本,借此我们更深入理解何为二进制编码;同时它是如何提高网络资源利用效率,重温多路复用的思
http网关etcd3 API全面升级为gRPC后,同时要提供REST API服务,维护两个版本的服务显然不太合理,所以grpc-gateway诞生了。通过protobuf的自定义option实现了一个网关,服务端同时开启grpc和http服务,http服务接收到客户请求后转换为grpc请求数据,获取响应后转换为json数据返回给客户端。结构如图:安装grpc-gatewaygo get gith
前言在上两篇文章中,介绍了ASP.NET Core 中的 gRPC-Web 实现 和 在 Blazor WebAssembly 中使用 gRPC-Web,实现了 Blazor WebAssembly 调用 ASP.NET Core gRPC-Web。虽然 ASP.NET Core 中的 gRPC-Web 实现目前还是试验性项目,但是鉴于它在生态上的重大意义,说不定我们很快就能在正式版本中使用。虽然
# Android Service 传递Context Android Service 是一种在后台运行的组件,可执行长时间运行的操作。在某些情况下,我们可能需要在 Service 中获取 Activity 的 Context,以便进行一些操作,例如读取文件、访问数据库等。本文将介绍如何在 Android Service 中传递 Context,并提供代码示例。 ## 为什么需要传递Conte
原创 2024-01-31 04:57:02
73阅读
前言grpc是一个高性能、通用的开源RPC框架,基于HTTP/2协议标准和Protobuf序列化协议开发,支持众多的开发语言。在对接口具有严格约束或者传递大量数据的场景中得到了广泛的应用。本文作者从什么是grpc开始介绍,讲诉了protobuf的语法以及如何使用grpc框架,对于想学习grpc的初学者来说,是一篇极好的入门教程,下来就跟随作者一起学习吧。1 简介什么是grpcgr
最近使用report来进行报表的生成,使用步骤相对还是比较简单的,首先下载report的软件,该软件主要是制作文件格式的报表:配置好数据库的驱动,该驱动是为report的软件服务的,本机使用的oracle 数据库所以配置的是odbc,只需要将相关的odbc的jar拷贝到report的数据的中。jreport所需要的jar包,japsper对象就是java对应引用报表文件的对象,可以类比于redis
转载 10月前
14阅读
grpc四种数据流简介1.简单模式这种模式最为传统,即客户端发起一次请求,服务端响应一个数据,这和大家平时熟悉的rpc没什么区别,所以不在详细介绍2.服务端数据流模式这种模式是客户端发起一次请求,服务端返回一段连续的数据流。典型的例子是客户端向服务端发送一个股票代码,服务端就把该股票的实时数据源源不断的返回给客户端。3.客户端数据流模式与服务端数据流模式相反,这次是客户端源源不断的向服务端发送数据
gRPC 是啥A high performance, open-source universal RPC framework一款高性能的开源 RPC 框架。gRPC 的特点:简单的服务定义:使用 Protocol Buffers(做序列化的工具)来定义服务跨语言跨平台:可以自动生成不同语言对应的 Client Stubs 和 Server Stubs。如下图所示,服务端可以用 C++ 来实现,但是
首先我们在类中创建构造函数:
转载 2021-07-09 10:15:27
787阅读
现实就比较骨干,如以下场景:App要往Child传递数据:1、使用父传子,这得需要传多
Spring contextConfigLocation  spring如何使用多个xml配置文件  1, 在web.xml中定义 contextConfigLocation参数.spring会使用这个参数加载.所有逗号分割的xml.如果没有这个参数,spring默认加载web-inf/applicationContext.xml文件. 例如: <context
上次只写了方法和参数,这次写了完整的示例,页面间参数的传递和接收的示例。1、参数传递用在程序上解释就是比如你进入一个商品选择列表,当你想选择一个商品的具体信息的时候,你就要传递商品编号,详细页面接受到编号后,显示出不同的内容。声明数据结构类Dart中可以使用类来抽象一个数据,比如我们模仿一个商品信息,有商品标题和商品描述。我们定义了一个Product类,里边有两个字符型变量,title和descr
转载 2024-07-16 12:55:32
25阅读
摘要在上一篇文章中,我们聊了聊gRPC是怎么管理一条从Client到Server的连接的。我们聊到了gRPC拥有Resolver,用来解析地址;拥有Balancer,用来做负载均衡。在这一篇文章中,我们将从代码的角度来分析gRPC是怎么设计Resolver和Balancer的,并会从头到尾的梳理一遍连接是怎么建立的。1 DialContextDialContext是客户端建立连接的入口函数,我们看
转载 2月前
364阅读
  • 1
  • 2
  • 3
  • 4
  • 5