Moleculer is a fast, modern and powerful microservices framework for Node.js. It helps you to build efficient, reliable & scalable services. Moleculer provides many features for building and managing your microservices.
- Promise-based solution (async/await compatible)
- request-reply concept
- all nodes are equal, no master/leader node
- multiple services on a node/server
- support event-driven architecture with balancing
- built-in service registry & dynamic service discovery
- load balanced requests & events (round-robin, random, cpu-usage, latency, shard)
- many fault tolerance features (Circuit Breaker, Bulkhead, Retry, Timeout, Fallback)
- plugin/middleware system
- support versioned services
- service mixins
- support Streams
- built-in caching solution (memory, MemoryLRU, Redis)
- pluggable loggers (Console, File, Pino, Bunyan, Winston, Debug, Datadog, Log4js)
- pluggable transporters (TCP, NATS, MQTT, Redis, AMQP, NATS Streaming, Kafka)
- pluggable serializers (JSON, Avro, MsgPack, Protocol Buffers, Thrift)
- pluggable validator
- built-in metrics with reporters (CSV, Prometheus, Datadog, StatsD, Events)
- built-in tracing support with exporters (Zipkin, Jaeger, Datadog, Events)
- parameter validation with fastest-validator
- official API gateway, Database access and many other modules…
We spent a lot of hours to improve the performance of Moleculer and create the fastest microservices framework for Node.js.
Check the results on your computer! Just clone this repo and run
npm install && npm start.
Until Moleculer reaches a
1.0release, breaking changes will be released with a new minor version. For example
0.13.4will be backward compatible, but
0.14.0will have breaking changes.