Moleculer - это быстрый, современный и мощный микросервисный фреймворк для Node.js. Он поможет вам построить эффективные, надежные и масштабируемые сервисы. Moleculer предоставляет множество возможностей для создания и управления микросервисами.
Возможности
- Асинхронный код на базе промисов (async/await compatible)
- концепция запрос-ответ
- поддержка событийной архитектуры с балансировкой
- встроенный реестр сервисов и их динамическое обнаружение
- запросы с распределением нагрузки & события (round-robin, random, использование cpu, задержка, шардинг)
- устойчивость к отказам (Circuit Breaker, Bulkhead, Retry, Timeout, Fallback)
- система плагинов и middleware
- поддержка версионирования сервисов
- поддержка потоков
- поддержка миксинов на уровне сервисов
- встроенное кэширование (Memory, MemoryLRU, Redis)
- подключаемые логгеры (Console, File, Pino, Bunyan, Winston, Debug, Datadog, Log4js)
- подключаемые транспорты (TCP, NATS, MQTT, Redis, NATS Streaming, Kafka, AMQP 0.9, AMQP 1.0)
- подключаемые сериализаторы (JSON, Avro, MsgPack, Protocol Buffer, Thrift)
- подключаемые валидаторы параметров
- несколько сервисов на узле/сервере
- архитектура без ведущего узла, все узлы равны
- валидация параметров fastest-validator
- встроенные метрики с отчётами (Console, CSV, Datadog, Event, Prometheus, StatsD)
- встроенные трассировщики с отчётами (Console, Datadog, Event, Jaeger, Zipkin)
- официальный API шлюз, доступ к БД и множество других модулей…
Насколько быстро?
Мы потратили много часов, чтобы улучшить работу Moleculer и создать самый быстрый микросервис для Node.js.
Проверьте результаты на своем компьютере! Просто клонируйте этот репозиторий и запустите npm install && npm start
.
VersioningДо тех пор, пока Moleculer не достигнет релиза
1.0
, критические изменения будут выпускаться в новых минорных версиях. Например0.13.1
, и0.13.4
будут обратно совместимыми, но0.14.0
будут иметь критические изменения.
Node.js supportMoleculer следует за релизными циклами Node.js, это означает, что требуется версии не ниже
12
.