Node.js의 GRPC를 더 간단하게
11560 단어 javascriptgrpcnode
grpc
및 @grpc/proto-loader
을 사용할 수 있습니다. 이 멋진 패키지는 GRPC 서버와 클라이언트를 구축하기 위한 통합 API를 제공하지만 애플리케이션 코드에서 직접 사용하기에는 너무 원시적입니다. createServer
및 createClient
와 같은 보다 단순화된 API를 원합니다.그래서 개발중입니다grpc-kit .
grpc
및 @grpc/proto-loader
의 작은 래퍼 라이브러리입니다. 물론 createServer
와 createClient
를 제공합니다 😆아래에 예시를 보여줍니다.
인사.proto
syntax="proto3";
package greeter;
service Greeter {
rpc Hello (RequestGreet) returns (ResponseGreet) {}
rpc Goodbye (RequestGreet) returns (ResponseGreet) {}
}
message RequestGreet {
string name = 1;
}
message ResponseGreet {
string message = 1;
}
서버.js
const {createServer} = require("grpc-kit");
const server = createServer();
server.use({
protoPath: "/path/to/greeter.proto",
packageName: "greeter",
serviceName: "Greeter",
routes: {
hello: (call, callback) => {
callback(null, { message: `Hello, ${call.request.name}` });
},
goodbye: async (call) => {
return { message: `Goodbye, ${call.request.name}` };
}
}
});
server.listen("0.0.0.0:50051");
createServer
는 grpc.Server
의 래퍼 클래스 인스턴스를 반환합니다. 클래스는 제공할 서비스를 추가하기 위한 메소드를 제공합니다use
. 라우팅 맵을 사용하여 선언적으로 서비스를 구성할 수 있습니다. 라우팅 맵은 greeter.proto
에 선언된 메서드 쌍과 핸들러 함수(동기화/비동기 함수 모두 사용 가능 😎)로 구성됩니다. 서비스가 구성된 후 listen
방식으로 서버를 시작합니다.client.js
//client.js
const {createClient} = require("grpc-kit");
const client = createClient({
protoPath: "/path/to/greeter.proto",
packageName: "greeter",
serviceName: "Greeter"
}, "0.0.0.0:50051");
client.hello({ name: "Jack" }, (err, response) => {
if(err) throw err;
console.log(response.message);
});
client.goodbye({ name: "John" }, (err, response) => {
if(err) throw err;
console.log(response.message);
});
createClient
는 grpc.Client
의 인스턴스를 반환합니다. greeter.proto
에 선언된 메서드를 호출하고 콜백에서 응답을 받습니다.API에 대한 자세한 내용은 repository을 참조하십시오. 도서관은 현재 개발 중입니다. 모든 의견과 조언을 환영합니다. 고맙습니다!
YoshiyukiKato / grpc-kit
Node.js에서 grpc를 더 간단하게 사용
grpc 키트
Node.js에서 grpc를 더 간단하게 사용하세요.
빠른 시작
설치
$ npm install grpc @grpc/proto-loader grpc-kit
프로토
syntax="proto3"
package greeter
service Greeter {
rpc Hello (RequestGreet) returns (ResponseGreet) {}
rpc Goodbye (RequestGreet) returns (ResponseGreet) {}
}
message RequestGreet {
string name = 1;
}
message ResponseGreet {
string message = 1;
}
섬기는 사람
const {createServer} = require("grpc-kit")
const server = createServer();
server.use({
protoPath: "/path/to/greeter.proto",
packageName: "greeter",
serviceName: "Greeter",
routes: {
hello: (call, callback) => {
callback(null, { message: `Hello, ${call.request.name}` });
},
goodbye: async (call) => {
return { message: `Goodbye, ${call.request.name}`
…
View on GitHub
Reference
이 문제에 관하여(Node.js의 GRPC를 더 간단하게), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/yoshiyukikato/grpc-on-nodejs-more-simply-h1
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Node.js의 GRPC를 더 간단하게), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/yoshiyukikato/grpc-on-nodejs-more-simply-h1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)