Moleculer é uma estrutura de microserviços rápida, moderna e poderosa para Node.js. Crie serviços eficientes, confiáveis & escaláveis na sua aplicação. O Moleculer fornece muitas funcionalidades para a construção e gerenciamento de seus microserviços.
Funcionalidades
- solução baseada em Promises (compatível com async/await)
- conceito de request-response
- arquitetura conduzida por eventos com balanceamento
- registro de serviços integrado & descoberta de serviços dinâmico
- requisições & eventos com balanceamento de carga (round-robin, aleatório, uso de cpu, latência, sharding)
- muitos recursos de tolerância a falhas (Circuit Breaker, Bulkhead, Retry, Timeout, Fallback)
- sistema de plugin/middleware
- suporte a serviços versionados
- suporte a Streams
- mixins de serviço
- solução de cache integrada (Memory, MemoryLRU, Redis)
- loggers plugáveis (Console, File, Pino, Bunyan, Winston, Debug, Datadog, Log4js)
- transporters plugáveis (TCP, NATS, MQTT, Redis, NATS Streaming, Kafka, AMQP 0.9, AMQP 1.0)
- serializadores plugáveis (JSON, Avro, MsgPack, Protocol Buffer, Thrift)
- validadores de parâmetros plugáveis
- vários serviços em um nó/servidor
- arquitetura sem mestre, todos os nós são iguais
- validação de parâmetros com fastest-validator
- funcionalidade de métricas embutidas com reporters (Console, CSV, Datadog, Event, Prometheus, StatsD)
- recurso de rastreamento embutido com exporters (Console, Datadog, Event, Jaeger, Zipkin)
- API gateway oficial, Acesso a banco de dados e muitos outros módulos…
Quão rápido?
Passamos muitas horas para melhorar o desempenho do Moleculer e criar o mais rápido framework de microserviços para Node.js.
Veja os resultados no seu computador! Basta clonar este repositório e executar npm install && npm start
.
Confira os resultados de nossos benchmarks.
VersioningAté que a Moleculer alcance a versão
1.0
, breaking changes serão lançada com uma minor version. Por exemplo,0.13.1
e0.13.4
serão compatíveis com retrocessos, mas0.14.0
terá breaking changes.
Node.js supportMoleculer segue o ciclo de releases do Node.js o que significa que a versão mínima requerida é a
12
.