All Projects β†’ moleculerjs β†’ Moleculer

moleculerjs / Moleculer

Licence: mit
πŸš€ Progressive microservices framework for Node.js

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Moleculer

Awesome Microservices Netcore
πŸ’Ž A collection of awesome training series, articles, videos, books, courses, sample projects, and tools for Microservices in .NET Core
Stars: ✭ 865 (-82.15%)
Mutual labels:  microservices, microservice, distributed-systems
Dotnet Istanbul Microservices Demo
This is the demo application that i created for my talk 'Microservice Architecture & Implementation with Asp.Net Core' at Dotnet Δ°stanbul Meetup Group.
Stars: ✭ 109 (-97.75%)
Mutual labels:  microservices, microservice, distributed-systems
Genie
Distributed Big Data Orchestration Service
Stars: ✭ 1,544 (-68.13%)
Mutual labels:  microservices, microservice, distributed-systems
core
Microservice abstract class
Stars: ✭ 37 (-99.24%)
Mutual labels:  distributed-systems, microservice
moleculer
πŸš€ Progressive microservices framework for Go - based and compatible with https://github.com/moleculerjs/moleculer
Stars: ✭ 135 (-97.21%)
Mutual labels:  microservice-framework, moleculer
moleculer-java
Java implementation of the Moleculer microservices framework
Stars: ✭ 39 (-99.2%)
Mutual labels:  distributed-systems, moleculer
Nodejs Microservice Starter
🌱 NodeJS RESTful API Microservice Starter
Stars: ✭ 220 (-95.46%)
Mutual labels:  microservices, microservice
Service Fabric
Service Fabric is a distributed systems platform for packaging, deploying, and managing stateless and stateful distributed applications and containers at large scale.
Stars: ✭ 2,874 (-40.68%)
Mutual labels:  microservices, distributed-systems
node-carotte-amqp
An amqplib wrapper for microservices
Stars: ✭ 27 (-99.44%)
Mutual labels:  microservice, microservice-framework
Kumuluzee
Lightweight open-source framework for developing microservices using standard Java EE technologies and migrating Java EE to cloud-native architecture.
Stars: ✭ 274 (-94.34%)
Mutual labels:  microservices, microservice-framework
Laravel5 Jsonapi
Laravel 5 JSON API Transformer Package
Stars: ✭ 313 (-93.54%)
Mutual labels:  microservices, microservice
Krakend Ce
KrakenD Community Edition. Make your binary of KrakenD API Gateway
Stars: ✭ 245 (-94.94%)
Mutual labels:  microservices, microservice
Quickperf
QuickPerf is a testing library for Java to quickly evaluate and improve some performance-related properties
Stars: ✭ 231 (-95.23%)
Mutual labels:  microservices, microservice
reacted
Actor based reactive java framework for microservices in local and distributed environment
Stars: ✭ 17 (-99.65%)
Mutual labels:  distributed-systems, microservice-framework
Lagom
Reactive Microservices for the JVM
Stars: ✭ 2,590 (-46.54%)
Mutual labels:  microservices, distributed-systems
Event Stream Processing Microservices
Using Spring Cloud Stream and Spring State Machine to create event-driven microservices
Stars: ✭ 255 (-94.74%)
Mutual labels:  microservices, microservice
Light 4j
A fast, lightweight and more productive microservices framework
Stars: ✭ 3,303 (-31.83%)
Mutual labels:  microservice, microservice-framework
Gokit
Go Examples: From basics to distributed systems
Stars: ✭ 325 (-93.29%)
Mutual labels:  microservices, distributed-systems
Ganesha
🐘 A Circuit Breaker pattern implementation for PHP applications.
Stars: ✭ 384 (-92.07%)
Mutual labels:  microservices, microservice
Nxplorerjs Microservice Starter
Node JS , Typescript , Express based reactive microservice starter project for REST and GraphQL APIs
Stars: ✭ 193 (-96.02%)
Mutual labels:  microservices, microservice

Moleculer logo

CI test Coverage Status Maintainability Codacy Badge David Known Vulnerabilities Discord chat

Downloads FOSSA Status Patreon PayPal

Moleculer NPM version Twitter URL

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.

Website: https://moleculer.services

Documentation: https://moleculer.services/docs

Top sponsors

What's included

  • Promise-based solution (async/await compatible)
  • request-reply concept
  • support event driven architecture with balancing
  • built-in service registry & dynamic service discovery
  • load balanced requests & events (round-robin, random, cpu-usage, latency, sharding)
  • many fault tolerance features (Circuit Breaker, Bulkhead, Retry, Timeout, Fallback)
  • plugin/middleware system
  • support versioned services
  • support Streams
  • service mixins
  • built-in caching solution (Memory, MemoryLRU, Redis)
  • pluggable loggers (Console, File, Pino, Bunyan, Winston, Debug, Datadog, Log4js)
  • pluggable transporters (TCP, NATS, MQTT, Redis, NATS Streaming, Kafka, AMQP 0.9, AMQP 1.0)
  • pluggable serializers (JSON, Avro, MsgPack, Protocol Buffer, Thrift, CBOR, Notepack)
  • pluggable parameter validator
  • multiple services on a node/server
  • master-less architecture, all nodes are equal
  • built-in parameter validation with fastest-validator
  • built-in metrics feature with reporters (Console, CSV, Datadog, Event, Prometheus, StatsD)
  • built-in tracing feature with exporters (Console, Datadog, Event, Jaeger, Zipkin, NewRelic)
  • official API gateway, Database access and many other modules...

Installation

$ npm i moleculer

or

$ yarn add moleculer

Create your first microservice

This example shows you how to create a small service with an add action which can add two numbers and how to call it.

const { ServiceBroker } = require("moleculer");

// Create a broker
const broker = new ServiceBroker();

// Create a service
broker.createService({
    name: "math",
    actions: {
        add(ctx) {
            return Number(ctx.params.a) + Number(ctx.params.b);
        }
    }
});

// Start broker
broker.start()
    // Call service
    .then(() => broker.call("math.add", { a: 5, b: 3 }))
    .then(res => console.log("5 + 3 =", res))
    .catch(err => console.error(`Error occurred! ${err.message}`));

Try it in your browser

Create a Moleculer project

Use the Moleculer CLI tool to create a new Moleculer based microservices project.

  1. Create a new project (named moleculer-demo)

    $ npx moleculer-cli -c moleculer init project moleculer-demo
  2. Open project folder

    $ cd moleculer-demo
  3. Start project

    $ npm run dev
  4. Open the http://localhost:3000/ link in your browser. It shows a welcome page which contains many information about your project & you can test the generated services.

πŸŽ‰ Congratulations! Your first Moleculer-based microservices project is created. Read our documentation to learn more about Moleculer.

Welcome page

Official modules

We have many official modules for Moleculer. Check our list!

Supporting

Moleculer is an open source project. It is free to use for your personal or commercial projects. However, developing it takes up all our free time to make it better and better on a daily basis. If you like Moleculer framework, please support it.

Thank you very much!

For enterprise

Available as part of the Tidelift Subscription.

The maintainers of moleculer and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. Learn more.

Documentation

You can find here the documentation.

Changelog

See CHANGELOG.md.

Security contact information

To report a security vulnerability, please use the Tidelift security contact. Tidelift will coordinate the fix and disclosure.

Contributions

We welcome you to join to the development of Moleculer. Please read our contribution guide.

License

Moleculer is available under the MIT license.

3rd party licenses

Contact

Copyright (c) 2016-2021 MoleculerJS

@moleculerjs @MoleculerJS

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].