cOdeShagHennessy / microchasm

The microchasm library provides a conduit for rapidly composing microservice ecosystems through scaffolding mechanisms for the microchasm, microservices, microapis and other components as well as tooling for build, deployment, and other full stack services. Uses node, hapijs, slush, gulp, docker, docker-compose, etc. to incarnate microservices and microapis.
1 stars 0 forks source link

MicroChasm Ecosystem

A microchasm is an ecosystem comprised of separated, independent services(micro variety) that share a common collaborative purpose. The pseudo-autonomous nature of each service is complimented by collaboration across the chasm of services.

microchasm

The microchasm library provides a conduit for rapidly composing microservice ecosystems through scaffolding mechanisms for the microchasm, microservices, microapis and other components as well as tooling for build, deployment, and other full stack services.

Components:

  • slush-mchasm- Scaffolding tooling to generate a new microchasm ecosystem
  • Sub-generators: mchasm:microservice mchasm:microapi mchasm:microlib mchasm:nanostack
  • microstack - Centralized information stores for microservice collaboration topology
  • twiglet - Logging tooling for collaboratively felling microservices
  • sips - Centralized build and deployment tooling for microchasm services

Dependencies

The following external and peer dependencies currently exist.

  • Node.js ^0.12.4 with NPM ^2.10.1 (tested with node v0.12.4 and npm v2.10.1)
  • Depends on the local twiglet module as a peer project for logging. This dependency may move to an external repo at some point
  • Depends on the local microstack module as a peer project for logging. This dependency may move to an external repo at some point
  • rekuire used to load some modules.
  • swagger and hapi-swagger used to keep realtime API documentation in sync.
  • hapijs used to create microservices, microapi plugins, mircolib plugins.
  • lab and code used to create tests

Getting Started

Creating a microchasm

Adding a microservice to your microchasm

Adding a microapi to your microservice

Adding a microlib to your microservice

Full sample instructions using docker/docker-compose