所在包:
package io.grpc;
所在类:
Statuspublic static final Status OK;
public static final Status CANCELLED;
public static final Status UNKNOWN;
public static final Status INVALID_ARGUMENT;
p
转载
2024-03-26 16:35:45
507阅读
背景最近,上线的采集器忽然时有OOM。采集器本质上是一个grpc服务,网络设备通过grpc协议将数据上报后,采集器进行格式等整理后,发往下一个系统(比如分析,存储)。打开运行环境,发现特性如下:每个采集器实例,会有数千个设备相连。并且会建立一个双向 grpc stream,用以上报数据。cpu的负载并不高,但内存居高不下。
初步猜想,内存和stream的数量相关,下面来验证一下。优化内存这次,很有
转载
2024-06-09 10:40:06
286阅读
一个简单的C#实例。包括:GRPC文件的创建生成、服务端和客户端函数类库的封装、创建服务端和客户端调用测试。若有错误或更好的方法还请指正。1、创建并生成GRPC服务文件(1)打开vs2022,创建新项目控制台应用(其他应用好像不行)。(2)需要安装三个nuget包,如图:(3)项目添加新建项,选择类,修改名称为Link.proto,添加后把内容全部删除。(4)添加如下代码。测试实例为服务端和客户端
转载
2024-07-02 22:12:12
79阅读
一、RPC基本概念RPC:远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的思想。常见 RPC 技术和框架有:应用级的服务框架:阿里的 Dubbo/Dubbox、Google gRPC、Spring Boot/Spring Cloud、Facebook 的 Thrift、Twitter 的 Finagle 等。远程通信协议:RMI、Socket、SOAP(HTTP
转载
2024-09-22 22:47:49
65阅读
前言2022 年 3 月 15 日,Google 发布了万众瞩目的 Golang 1.18,带来了好几个重大的新特性,包括:解决本地同时开发多个仓库带来的一些问题的工作区(Workspace)能够自动探测代码分支,随机生成输入,并且检查代码是否会 panic 的模糊测试(Fuzzing Test)众多开发者盼星星盼月亮终于等到的泛型支持。本文将简单讲述这三个特性的相关内容。Go 工作区模式(Go
Golang中error错误处理浅谈一.error与类型错误的变量进行比较1.== 比较2.contains 比较二.断言底层结构类型,并从结构体字段获取更多信息三.断言底层类型的行为 在解析了 Golang中error和创建error的源码后( Golang学习——error和创建error源码解析)。 对error有了一定理解,不过error处理才是实际开发中非常重要的一点。Golang中
基于Http协议订阅发布系统设计 --物联网系统架构设计
1,订阅发布(subscriber-publisher)
订阅发布模式最典型的应用场景就是消息系统的设计。在消息系统的架构中,消息的发送者称作(publisher),消息的接收者称作(subscriber),参见wikipedia: Publish–subscr
正文服务治理中有一个重要的概念服务发现,服务发现中有一个重要的概念叫做注册中心。 每个服务启动的时候,会将自身的服务和ip注册到注册中心,其他服务调用的时候,只需要向注册中心申请地址即可。当然,服务和服务之间调用会发生一些问题,为了避免产生连锁的雪崩反应,引入了服务容错,为了追踪一个调用所经过的服务,引入了链路追踪,等等这些就构建了一个微服务的生态2 gRPC上面我们讲到,服务和服务之间调用需要使
关于界面布局约束的方法有很多,纯代码布局,可以使用官方原生布局(很繁琐)、VFL、Masonary第三方等,在xib或者storyboard中也可以使用Autolayout的界面约束进行布局约束。
我今天要着重记录的是VFL 的布局方式,以前看过相关的博客文档,试着写过,但是因为约束的那串字符串有点复杂也就浅尝辄止,最近要写项目,突然发现VFL
H264码流的两种打包方式,一种为Annex-b byte stream format的格式,字节流格式,这个是绝大部分编码器的默认输出格式,就是每个帧的开头的3~4个字节是H264的start_code,0x00000001或者0x000001,即NALU数据+开始前缀(00000001或000001),针对H.320电话会议。另一种是原始的NAL打包格式,就是开始的若干字节(1,2,4字节)是
How gRPC error codes map to status codes in the response https://github.com/grpc-ecosystem/grpc-gateway/blob/master/runtime/errors.go#L15 grpc-ec
转载
2018-07-13 11:54:00
1634阅读
2评论
前言:随着.Net6的发布,Minimal API成了当下受人追捧的角儿。而这之前,程序之间通信效率的王者也许可以算得上是gRPC了。那么以下咱们先通过开发一个gRPC服务的教程,然后顺势而为,再接着比拼一下minimal api服务和gRPC服务在通信上的效率。以下,Enjoy:1、创建一个gRPC服务项目。开发模板选项如下图所示。 2、新建项目MyFirstG
转载
2024-06-21 06:27:06
186阅读
https://github.com/grpc/grpc/blob/master/doc/health-checking.md GRPC Health Checking Protocol Health checks are used to probe whether the server is ab
转载
2020-11-16 15:57:00
98阅读
2评论
了解基本http状态码。HTTP状态码是服务器和客户端之间交流信息的语言。1XX系列指定客户端应相应的某些动作,代表请求已被接受,需要继续处理。由于 HTTP/1.0 协议中没有定义任何 1xx 状态码,所以除非在某些试验条件下,服务器禁止向此类客户端发送 1xx 响应。2XX系列代表请求已成功被服务器接收、理解、并接受。这系列中最常见的有200、201状态码。200状态码: 表示请求已成功,请求
转载
2024-04-21 15:35:55
257阅读
什么是gRPCgRPC 已经成为实现需要大规模快速运行的分布式软件系统的一项重要技术。简而言之,gRPC 是一个 API 框架,它允许一个程序在互联网上的一个位置传递数据到另一个位置的另一个程序中的独特函数进行处理。其他 API 框架(如 REST)通常使用基于文本的格式(如 JSON 或 XML)在客户机和服务器之间传递数据,而在 gRPC 下,数据是以二进制格式在客户机和服务器端目标函数之间传
转载
2024-05-09 14:03:43
74阅读
前言现代的软件服务大多数是分布式应用程序,通过暴露自己的 API 对内或对外提供了一系列的功能点。服务与服务之间有时是跨语言、跨平台通信的。为了解决这些复杂场景,市面上也涌现了有很多解决方案。比如构建 RESTful 服务,将服务能力转化为资源集合;也有面向函数调用的客户端-服务器模式:远程过程调用(Remote Procedure Calls)。今天要介绍的 gRPC 就是后者的演变,一个非常受
转载
2024-03-28 10:14:16
66阅读
所谓RPC(remote procedure call 远程过程调用)框架实际是提供了一套机制,使得应用程序之间可以进行通信,而且也遵从server/client模型。使用的时候客户端调用server端提供的接口就像是调用本地的函数一样。grpc原理: 比如 A (client) 调用 B (server) 提供的remoteAdd方法: 首先,A与B之间建立一个TCP连接; 然后,A把需要调用的
转载
2024-02-18 08:16:38
65阅读
此篇中主要简单实现了,grpc的4种交互,包括普通请求,客户端流,服务端流,和双向流。其中服务端采用go语言实现,客户端将采用java实现。 在此篇中基本可以了解到protobuf的基本知识,以及多文件编译上的一些问题。以及在gr
转载
2024-03-20 10:18:16
112阅读
Grpc的简单使用心得本文主要介绍一下grpc的环境搭建,并以一个简单的登录注册的例子来展示grpc的简单使用,更详细的内容请参考官方文档:
一、环境搭建1. 查看go version,go版本需要在1.6以上2. 安装protobuf,地址:https://github.com/goo
转载
2024-05-14 14:48:06
48阅读
文章目录一、什么是grpc和protobuf二、python下体验protobuf1.安装2.先体验protobuf33. 生成proto的python文件4. 查看protobuf生成的代码5. 对比一下protobuf生成的效果三、python体验grpc开发四、python下解决grpc import路径出错的bug五、go语言下grpc快速体验1. 下载工具2. 下载go的依赖包3. p
转载
2024-05-13 18:16:24
31阅读