Overview

Motivation

In the past years, the microservice-based architecture became very popular in the computing field. Although this architecture grew more and more popular, there are a few tools that can help an individual to build such systems. The current alternatives are using nameko or by building a web application that acts like a microservice. I started developing this framework in order to provide a tool for creating and managing such systems with ease, and that are capable of being specialized in a certain role, be it entity management, data storage or just computing.

Few words ahead

This library uses the asynchronous features of the Tornado web framework for creating a JSON RPC endpoint through which one can call exposed methods. The method calls are treated asynchronously. If you have no knowledge about asynchronous programming in Python, I suggest to read a few words from the Tornado documentation .

Although it is not required for you to know about all that coroutines and event loop theory, it sure helps to understand what happens under the hood.

Features

The main features of this framework are:

  • microservices that communicate over JSON RPC 2.0 protocol.
  • possibility to extend with custom functionality (via Tornado request handlers)
  • automatic service discovery
  • dynamic configuration (no need to modify the code to change the running parameters)
  • support for the publisher-subscriber communication pattern