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.
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
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
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