pip-services-runtime-node

1.0.5 • Public • Published

Pip.Services Logo
Microservices runtime for Node.js

This framework is a part of Pip.Services project. It provides foundation for composable microservices using Node.js technology stack. Each microservice is constructed from components created following user-defined configuration.

The conceptual architecture of the framework is presented on the diagram below. For more details , please, refer to Pip.Services Reference Architecture document.

Runtime Architecture

The main goal of the framework is to enable flexible microservice structure that can adjust based on the user requirements. It allows to run microservices on virtually any platform, with any infrastructural services and storages while protecting core business logic from rework due to changes in technologies and deployment configurations.

All functionality of the runtime is split into several packages:

Runtime Packages
  • Core - key microservice abstractions and components
  • Portability - cross-language and cross-platform abstractions
  • Errors - microservice error definitions
  • Config - microservice configuration
  • Data - data handling patterns
  • Validation - data validation
  • Commands - command pattern
  • Build - microservice component factories and builder
  • Run - microservice container, runners and wrappers
  • Discovery - discovery components: Null, Memory, File, REST, Etcd, Consul, ...
  • Boot - bootstrap configuration readers: File, REST, Etcd, Consul, ...
  • Logs - logger components: Null, Console, REST, Logstash, ...
  • Counters - performance counters: Null, Log, REST, ...
  • Cache - transient cache components: Null, Memory, Memcached, Redis, ...
  • Persistence - abstract persistent components: Memory, File, MongoDB, Cassandra, MySQL, SQL Server, ...
  • Logic - abstract business logic components: controllers and decorators
  • Clients - abstract client components: Direct, REST, Seneca, Lambda, Thrift, ...
  • Services - abstact service components: REST, Seneca, Thrift, ...
  • Addons - abstract and specific addons: Seneca, Random Shutdown, Status, Node Registry, ...

Quick Links:

Acknowledgements

The runtime framework is created and maintained by several individuals:

  • Sergey Seroukhov - architecture and implementation
  • Volodymyr Tkachenko - seneca components

Package Sidebar

Install

npm i pip-services-runtime-node

Weekly Downloads

0

Version

1.0.5

License

MIT

Last publish

Collaborators

  • seroukhov