gRPC在node.js中安装并简单使用
首先,确保你已经安装了Node.js环境。
- 通过npm安装gRPC库和protocol buffer编译器:
npm install @grpc/grpc-js google-protobuf
- 创建
.proto
文件定义gRPC服务:
// helloworld.proto
syntax = "proto3";
package helloworld;
// 定义服务
service Greeter {
// 定义rpc方法
rpc SayHello (HelloRequest) returns (HelloReply) {}
}
// 请求消息
message HelloRequest {
string name = 1;
}
// 响应消息
message HelloReply {
string message = 1;
}
- 使用protocol buffer编译器生成gRPC客户端和服务端存根代码:
npm install -g protoc
protoc --js_out=import_style=commonjs,binary:. --grpc-web_out=import_style=commonjs,mode=grpcwebtext:. helloworld.proto
上述命令会生成helloworld_pb.js
和helloworld_grpc_web_pb.js
两个文件。
- 创建gRPC客户端调用服务端:
const grpc = require('@grpc/grpc-js');
// 导入生成的protobuf定义
const proto = require('./helloworld_pb');
const service = require('./helloworld_grpc_web_pb');
// 定义gRPC服务器地址和端口
const host = 'localhost:50051';
// 创建gRPC通道
const channel = grpc.credentials.createInsecure();
const client = new service.GreeterClient(host, channel);
// 创建请求消息
const request = new proto.HelloRequest();
request.setName('World');
// 调用rpc方法
client.sayHello(request, {}, (err, response) => {
if (err) {
console.error(err);
} else {
console.log(response.getMessage());
}
});
确保你的gRPC服务器在本地运行并监听50051端口。这个例子展示了如何在node.js中创建一个gRPC客户端,并向服务器发送请求。
评论已关闭