/moleculer-demo

Moleculer Demo

Primary LanguageJavaScript

Moleculer

moleculer-demo

This is a Moleculer-based microservices project. Generated with the Moleculer CLI.

Usage

Start the project with npm run dev command. After starting, open the http://localhost:3000/ URL in your browser. On the welcome page you can test the generated services via API Gateway and check the nodes & services.

In the terminal, try the following commands:

  • nodes - List all connected nodes.
  • actions - List all registered service actions.
  • call greeter.hello - Call the greeter.hello action.
  • call greeter.welcome --name John - Call the greeter.welcome action with the name parameter.
  • call products.list - List the products (call the products.list action).

Services

  • api: API Gateway services
  • greeter: Sample service with hello and welcome actions.
  • products: Sample DB service. To use with MongoDB, set MONGO_URI environment variables and install MongoDB adapter with npm i moleculer-db-adapter-mongo.

Mixins

  • db.mixin: Database access mixin for services. Based on moleculer-db

Useful links

NPM scripts

  • npm run dev: Start development mode (load all services locally with hot-reload & REPL)
  • npm run start: Start production mode (set SERVICES env variable to load certain services)
  • npm run cli: Start a CLI and connect to production. Don't forget to set production namespace with --ns argument in script
  • npm run lint: Run ESLint
  • npm run ci: Run continuous test mode with watching
  • npm test: Run tests & generate coverage report
  • npm run dc:up: Start the stack with Docker Compose
  • npm run dc:down: Stop the stack with Docker Compose

Mongo DB

https://developer.rackspace.com/blog/deploy-mongodb-as-a-docker-container/

docker run -d -v /data/db/:/data/db --name mymongo mongo:4.0.4

docker run -d -v /data/db/:/data/db -p 27017:27017/tcp --name mymongo mongo:4.0.4

docker exec -it mymongo bash

show dbs
use <dbname>
show collections

Ref: https://medium.com/@r.heygate.dev/microservices-with-moleculer-js-c7e68803ec09

References:

https://github.com/moleculerjs/moleculer-addons/blob/master/packages/moleculer-bee-queue/examples/simple/index.js

https://github.com/moleculerjs/moleculer-addons/tree/master/packages/moleculer-bee-queue