Вопрос проверяет понимание назначения и принципов работы NATS как высокопроизводительной системы обмена сообщениями для микросервисов.
NATS — это открытый брокер сообщений, ориентированный на высокую скорость, малую задержку и простоту. Он реализует модель обмена сообщениями, где сервисы не знают друг о друге напрямую, а общаются через subjects — строковые адреса, похожие на темы. Это позволяет строить слабосвязанные распределённые системы.
const { connect, StringCodec } = require('nats');
(async () => {
const nc = await connect({ servers: 'localhost:4222' });
const sc = StringCodec();
// Подписка
const sub = nc.subscribe('orders.created');
(async () => {
for await (const m of sub) {
console.log('Получено:', sc.decode(m.data));
}
})();
// Публикация
nc.publish('orders.created', sc.encode('order-42'));
})();NATS часто используют в микросервисах, IoT, edge-вычислениях и системах реального времени, где важны низкая задержка и минимальные накладные расходы. Существует также NATS Streaming и JetStream для гарантированной доставки и персистентности.
Итог: NATS стоит применять, когда нужна быстрая, простая и масштабируемая шина сообщений между сервисами без тяжёлой инфраструктуры.
Уровень
Рейтинг:
3
Сложность:
5
Навыки
Node.js
Networks
Ключевые слова
Подпишись на Node.js Developer в телеграм