ASP.NET CORE Study09

2023-11-30 19:07:35 浏览数 (2)

rpc 相关概念

RPC(Remote Procedure Call)远程过程调用协议,一种通过网络从远程计算机上请求服务,而不需要了解底层网络技术的协议。 rpc 简单来说:

  • RPC就是从一台机器(客户端)上通过参数传递的方式调用另一台机器(服务器)上的一个函数或方法(可以统称为服务)并得到返回的结果。
  • RPC 会隐藏底层的通讯细节(不需要直接处理Socket通讯或Http通讯) RPC 是一个请求响应模型。
  • 客户端发起请求,服务器返回响应(类似于Http的工作方式) RPC 在使用形式上像调用本地函数(或方法)一样去调用远程的函数(或方法)。
grpc 相关概念

RPC(Remote Procedure Call)远程过程调用,是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议,简单的理解是一个节点请求另一个节点提供的服务。RPC只是一套协议,基于这套协议规范来实现的框架都可以称为 RPC 框架,比较典型的有 Dubbo、Thrift 和 gRPC。 grpc 是一个高性能、开源的通用RPC框架。

protobuf 基本数据类型

基本数据类型包括标量和复杂的引用类型。

protobuf 字段定义

protobuf 中数据都需要通过字段的形式定义数据。而字段的数值 Tag 则是用于唯一标识字段,非常重要。

protobuf 字段定义的规则
reserved 关键字
字段默认值
枚举值取别名
示例代码:
代码语言:javascript复制
syntax = "proto3";

option csharp_namespace = "Grpc_Start_Study_01";

package greet;

// The greeting service definition.
service Greeter {
  // Sends a greeting
  rpc SayHello (HelloRequest) returns (HelloReply);
}

// The request message containing the user's name.
message HelloRequest {
  string name = 1;
}

// The response message containing the greetings.
message HelloReply {
  string message = 1;
}

0 人点赞