Rumah  >  Artikel  >  hujung hadapan web  >  nodejs melaksanakan rpc

nodejs melaksanakan rpc

PHPz
PHPzasal
2023-05-18 09:21:371229semak imbas

Dengan perkembangan berterusan teknologi Internet, seni bina yang diedarkan telah menjadi asas kepada aplikasi Internet moden. Dalam sistem teragih, protokol panggilan prosedur jauh (RPC) adalah cara penting untuk mencapai komunikasi antara komponen. Artikel ini akan memperkenalkan cara menggunakan Node.js untuk melaksanakan RPC untuk membantu pembangun membina aplikasi yang diedarkan dengan lebih pantas dan lebih mudah.

1. Pengenalan kepada RPC

RPC, nama penuh ialah Remote Procedure Call, yang bermaksud panggilan prosedur jauh. Ia melaksanakan panggilan program antara komputer yang berbeza melalui panggilan rangkaian, membuat panggilan program sama seperti memanggil fungsi tempatan, melindungi butiran penghantaran rangkaian asas, membolehkan pembangun menumpukan lebih pada pelaksanaan logik perniagaan.

Protokol RPC tradisional dilaksanakan berdasarkan protokol binari, termasuk Jimat, Avro, Penampan Protokol, dsb. Protokol ini biasanya menggunakan IDL untuk menerangkan antara muka, dan kemudian menggunakan alat penjanaan kod untuk menjana kod klien dan pelayan yang sepadan, supaya pelanggan boleh memanggil antara muka semudah memanggil fungsi tempatan.

Dalam Node.js, kita boleh menggunakan protokol JSON-RPC untuk melaksanakan panggilan RPC. JSON-RPC ialah protokol panggilan prosedur jauh yang ringan dan pantas berdasarkan pengekodan JSON Ia ringan dan bebas bahasa, jadi ia sangat popular dalam aplikasi web.

2. Gunakan Node.js untuk melaksanakan RPC

Dalam Node.js, kita boleh menggunakan perisian tengah json-rpc2 untuk melaksanakan RPC. Perisian tengah ini ialah modul Node.js yang melaksanakan protokol JSON-RPC 2.0 Ia boleh menulis dan memanggil API JSON-RPC dengan mudah dalam persekitaran Node.js. Di bawah, kami akan memperkenalkan cara menggunakan perisian tengah ini untuk melaksanakan panggilan RPC.

1. Pasang dependensi

Kita perlu memasang pakej dependensi json-rpc2. Masukkan arahan berikut pada baris arahan:

npm install json-rpc2 --save

2. Cipta kod sisi pelayan

Kita perlu buat kod sisi pelayan, fungsinya adalah untuk menerima permintaan pelanggan, menghuraikan meminta dan melaksanakan operasi yang sepadan, dan mengembalikan hasilnya kepada pelanggan.

const jsonrpc = require('json-rpc2');

const server = jsonrpc.Server.$create({
  'add': function(params, ret) {
    ret(null, params[0] + params[1]);
  },
  'sub': function(params, ret) {
    ret(null, params[0] - params[1]);
  },
});

server.listen(8000, 'localhost');

Kod di atas melaksanakan pelayan RPC mudah. Kami mentakrifkan dua API: add dan sub, yang masing-masing melaksanakan operasi tambah dan tolak. Kami mencipta pelayan menggunakan jsonrpc.Server.$create(), mentakrifkan kaedah add dan sub dan mendengar port 8000 melalui kaedah listen(), menunggu permintaan pelanggan.

3. Cipta kod pelanggan

Selepas kod bahagian pelayan dibuat, kita perlu mencipta kod pelanggan yang boleh membuat permintaan kepada pelayan dan mendapatkan hasil respons.

const jsonrpc = require('json-rpc2');

const client = jsonrpc.Client.$create(8000, 'localhost');

client.call('add', [1, 2], function(err, result) {
  console.log(result);
});

client.call('sub', [5, 3], function(err, result) {
  console.log(result);
});

Kod di atas melaksanakan klien Node.js yang mudah dan mencipta klien melalui kaedah Client.$create(). Kami menggunakan kaedah call() untuk mengeluarkan permintaan add dan sub masing-masing kepada pelayan, dan menggunakan fungsi panggil balik untuk mendapatkan hasil respons dan mencetak output.

4. Program ujian

Kami menyimpan dua coretan kod di atas sebagai fail server.js dan client.js, dan laksanakan arahan berikut untuk memulakan pelayan dan klien:

rreee

Kemudian laksanakan arahan berikut dalam baris arahan baharu:

node server.js

Hasil keluaran hendaklah 3 dan 2, sepadan dengan pengiraan penambahan dan penolakan masing-masing.

3. Ringkasan

Artikel ini memperkenalkan cara menggunakan Node.js untuk melaksanakan panggilan RPC, membantu pembangun membina aplikasi yang diedarkan dengan lebih pantas dan lebih mudah. Dalam proses pembangunan sebenar, kita perlu memberi perhatian untuk memisahkan lapisan aplikasi daripada lapisan protokol, mengabstraksi antara muka API, dan memastikan kebolehpercayaan dan kestabilan perkhidmatan. Selain itu, kami juga perlu mempertimbangkan isu keselamatan RPC, termasuk pengesahan, penyulitan komunikasi, dsb., untuk memastikan keselamatan dan kebolehpercayaan panggilan RPC.

Atas ialah kandungan terperinci nodejs melaksanakan rpc. 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