
This is an example of a microservice application that implements a simple CRUD,built using Node.js + nact + gRPC.
The sole purpose of this project is to use bleeding-edge technologies to build ascaffold of a microservice, which should be by default:
- Safe
- Performatic
- Scalable
- Resilient
- Easy to build
- Easy to understand
- Easy to maintain
- Flexible
Every piece of technology used in this repository can help the developer (you!)to achieve the goals above, let's see how:
- Node.js provides a very powerful event-driven javascript runtime with agreat balance between performance and memory footprint.
- Babel is used to compile the source code to run inside Node.js. The codeused in this project is the modern JavaScript (ES7) with custom operatorsthat enable easier and more idiomatic functional programming style.
- nact implements the actor model of the good ol' Erlang. This is a veryefficient approach to handle concurrency of applications that are eitherstateful or stateless. Also, code decoupling comes for absolutely free.
- gRPC is a minimalist high-performance RPC framework. It uses protocolbuffers, which are a great way to definetype-safe requisitions andresponses of microservices.
The text above ismostly opinionated and this example is not meant to be ansilver bullet for everything. If some of this doesn't work for you, open anissue! Maybe we both can improve our knowledge :)