Skip to content

XYZ in a nutshell

Kian Peymani edited this page Oct 26, 2016 · 9 revisions

Node XYZ

The initiative idea of node XYZ was originally derived from a simple presentation regarding Microservice software architecture. Immediately after the speech I assumed "I basically described an ideal system with properties that are very coherent with Node has to offer. This is the opportunity that I've been waiting for, writing a module/framework for Node". Henceforth, I started to think about how this specific architecture can be implemented in Node, which tools are required and what needs to be done.

It is worth mentioning that at the time I was working on an actor-based system using Akka. Thus, I tried to embed some of the useful aspects of Actor based systems in my initial design.

The following sections describes some of the philosophy behind XYZ, what are its aims and how it (would) achieve them.

The Big Picture

XYZ should be able to wrap any Node Process, without having any effect on the ongoing main process, giving it the ability to communicate with other Node processes having the same wrapper. This is the minimal idealogical concept behind XYZ. That is to say, an individual service in a microservice based system would probably have several incoming open perts, allowing foreign services (not clients necessarily) to request data/computation, but, it would be totally independent of that process's main process. a process should be able to run an standalone backend/API, meanwhile being connected to the global xyz system offering an entirely different functionality (although this is not preferred according to the microservice architecture)

The Bigger Picture

Let's step back for a moment and see how this would look like an a bigger scenario.

The Close Up Picture

Architecture

Service Repository Layer

Definition : Service
Definition : Node

Transport Layer

Why XYZ?

Clone this wiki locally