Cara menggunakan Node.js untuk membangunkan sistem pengagihan tugas yang mudah
Pengenalan
Dalam pembangunan perisian moden, pengagihan tugas sistem adalah komponen yang sangat biasa dan penting. Ia boleh mengagihkan tugas kepada nod pekerja yang berbeza untuk mencapai pemprosesan selari dan meningkatkan kecekapan sistem. Artikel ini akan memperkenalkan cara menggunakan Node.js untuk membangunkan sistem pengagihan tugas yang mudah dan menyediakan contoh kod khusus.
1.1 Pengedar Tugas
Pengedar tugas bertanggungjawab untuk menerima tugas dan mengagihkan tugas kepada nod pekerja. Ia perlu menyediakan fungsi berikut:
1.2 Nod kerja
Nod kerja bertanggungjawab untuk melaksanakan tugas. Ia perlu menyediakan fungsi berikut:
2.1 Buat pengedar tugas
Pertama, kita perlu mencipta modul pengedar tugas. Dalam modul pengedar tugas, kami boleh menentukan antara muka untuk menerima permintaan tugas dan menggunakan algoritma pengimbangan beban untuk memilih nod pekerja. Berikut ialah kod sampel mudah:
const express = require('express'); const app = express(); app.use(express.json()); // 接收任务请求 app.post('/task', (req, res) => { const { taskId, payload } = req.body; // 使用负载均衡算法选择工作节点 const selectedNode = selectNode(); // 将任务分发给工作节点 sendTask(selectedNode, taskId, payload); res.status(200).send('Task has been dispatched.'); }); app.listen(3000, () => { console.log('Task dispatcher is running on port 3000.'); });
2.2 Buat nod pekerja
Seterusnya, kita perlu mencipta modul nod pekerja. Dalam modul nod pekerja, kita boleh menentukan antara muka untuk menerima tugas dan melaksanakan logik tugas. Selepas menyelesaikan tugas, nod pekerja perlu memberi maklum balas hasil tugas kepada pengedar tugas. Berikut ialah kod sampel mudah:
const express = require('express'); const app = express(); app.use(express.json()); // 注册到任务分发者 app.post('/register', (req, res) => { const { nodeId } = req.body; // 注册到任务分发者 registerNode(nodeId); res.status(200).send('Node has been registered.'); }); // 接收任务 app.post('/task', (req, res) => { const { taskId, payload } = req.body; // 执行任务逻辑 const result = executeTask(taskId, payload); // 反馈任务结果 sendTaskResult(taskId, result); res.status(200).send('Task has been completed.'); }); app.listen(4000, () => { console.log('Worker node is running on port 4000.'); });
Atas ialah kandungan terperinci Bagaimana untuk membangunkan sistem pengagihan tugas mudah menggunakan Node.js. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!