Rumah  >  Artikel  >  hujung hadapan web  >  nodejs membina grpc

nodejs membina grpc

PHPz
PHPzasal
2023-05-25 15:19:081194semak imbas

Kata Pengantar

gRPC ialah rangka kerja RPC merentas bahasa berprestasi tinggi Google Matlamatnya adalah untuk membolehkan aplikasi pelanggan memanggil kaedah sisi pelayan seperti memanggil fungsi tempatan, termasuk: C++, Python, Java, Go, Node.js dan bahasa lain.

Menggunakan gRPC dalam Node.js boleh memudahkan interaksi antara pelayan dan klien, dan sambil memastikan prestasi tinggi, ia juga boleh memberikan keselamatan dan kerahsiaan data Artikel ini akan memperkenalkan cara menggunakan Node membina pelayan dan pelanggan gRPC.

Langkah 1: Pasang Node.js dan gRPC

Mula-mula, anda perlu memastikan bahawa Node.js dan npm telah dipasang secara setempat. Kemudian, masukkan arahan berikut dalam terminal untuk memasang gRPC:

npm install -g grpc

Selepas pemasangan selesai, anda boleh melihat maklumat versi gRPC dalam fail package.json.

nodejs membina grpc

Langkah 2: Tentukan fail .proto

gRPC mentakrifkan perkhidmatan melalui fail proto, yang digunakan untuk menentukan antara muka perkhidmatan, format mesej, dan lain-lain. Seterusnya, kami mula-mula menentukan perkhidmatan mudah yang membolehkan pelanggan menghantar mesej kepada pelayan dan mengembalikan mesej yang diubah suai selepas menerima mesej. Cipta fail bernama example.proto dan tentukan kandungan berikut:

syntax = "proto3";

package example;

service Example {
  rpc ModifyMessage (Message) returns (Message){}

}
message Message {
  string content = 1;
}

Langkah 3: Jana kod

Jalankan arahan berikut dalam direktori di mana fail example.proto terletak untuk menjana yang sepadan kod :

grpc_tools_node_protoc --js_out=import_style=commonjs,binary:./ --grpc_out=./ --plugin=protoc-gen-grpc=`which grpc_tools_node_protoc_plugin` example.proto

grpc_tools_node_protoc digunakan di sini untuk menjana kod yang diperlukan untuk Node.js, dan direktori output ditentukan.

Kod yang dijana termasuk: example_pb.js dan example_grpc_pb.js.

Langkah 4: Laksanakan pelayan

Kod sisi pelayan adalah seperti berikut:

const grpc = require("grpc");
const example = require("./example_pb");
const exampleService = require("./example_grpc_pb");

const server = new grpc.Server();

function modifyMessage(call, callback) {
  const response = new example.Message();
  response.setContent(call.request.getContent().toUpperCase());
  callback(null, response);
}

server.addService(exampleService.ExampleService, {
  modifyMessage: modifyMessage,
});

server.bind("localhost:50051", grpc.ServerCredentials.createInsecure());
console.log("Server running at http://localhost:50051");
server.start();

Dalam contoh ini, pelayan mencipta pelayan grpc baharu dan menambah kaedah bernama modifyMessage. Kaedah ini menerima objek Mesej sebagai parameter, menukar medan kandungan dalam objek Mesej kepada huruf besar dan mengembalikannya.

Akhir sekali, kami menggunakan kaedah bind() untuk mengikat perkhidmatan ke localhost:50051 dan memulakan pelayan.

Langkah 5: Laksanakan klien

Kod klien adalah seperti berikut:

const grpc = require("grpc");
const example = require("./example_pb");
const exampleService = require("./example_grpc_pb");

const client = new exampleService.ExampleClient(
  "localhost:50051",
  grpc.credentials.createInsecure()
);

const request = new example.Message();

request.setContent("Hello World!");

client.modifyMessage(request, function (err, response) {
  console.log("Modified message: ", response.getContent());
});

Dalam contoh ini, kami mencipta objek ExampleClient dan menggunakan Kaedah modifyMessage() menghantar Mesej objek kepada pelayan. Akhir sekali, kami mengeluarkan respons daripada pelayan, yang telah menukar huruf dalam rentetan kepada huruf besar.

Langkah 6: Jalankan perkhidmatan

Sekarang, kita hanya perlu memulakan perkhidmatan menggunakan arahan berikut dalam direktori di mana kod pelayan terletak:

node server.js

Kemudian, dalam direktori di mana kod klien terletak Jalankan arahan berikut dalam direktori:

node client.js

Anda seharusnya melihat output berikut:

Modified message:  HELLO WORLD!

Pada ketika ini, kami telah berjaya melaksanakan pelayan gRPC asas dan proses interaksi klien.

Ringkasan

Artikel ini memperkenalkan cara menggunakan Node.js untuk membina pelayan dan klien gRPC, serta menggunakan protobuf untuk mentakrifkan struktur data dan format mesej antara mencipta perkhidmatan dan mewujudkan sambungan. gRPC ialah rangka kerja RPC merentas bahasa yang berkuasa yang berguna untuk aplikasi yang memerlukan pemindahan data pantas antara pelanggan dan pelayan.

Atas ialah kandungan terperinci nodejs membina grpc. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn