Проверяет понимание механизма broadcast в распределённых системах и его роли в доставке сообщений всем участникам.
Broadcast (широковещание) — это модель передачи данных, при которой одно сообщение отправляется сразу множеству получателей. Ключевая идея в том, что отправителю не нужно знать адреса всех получателей: он отправляет сообщение в общий канал, а доставку обеспечивает инфраструктура — сеть, брокер сообщений или протокол распределённой системы.
const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 8080 });
wss.on('connection', (ws) => {
ws.on('message', (data) => {
// Рассылаем всем подключённым клиентам
wss.clients.forEach((client) => {
if (client.readyState === WebSocket.OPEN) {
client.send(data.toString());
}
});
});
});Broadcast стоит применять, когда нужно синхронизировать состояние между множеством узлов или оповестить всех подписчиков об изменении — например, в чатах, системах событий, кластерах и блокчейне. Для точечной доставки лучше использовать unicast или multicast.