Microservices with Node.js

Microservices

Framework

  • Express
  • Micro
  • Seneca
  • Hydra

Container

Database

Service Gateway

Middlewares

Pub/Sub

Queue

Authentication and Authorisation

Reliability

Health Check

Service Registry And Discovery

Load Balancing

Configuration centre

Logging

Metrics

Monitoring

Circuit Breaker

Distributed Tracing

Key Points to validate

  • How many Microservices should I divide the business capabilities into thinking in terms of domain driven design.
  • Partitioning the data into different services with their own database solution with the understanding of which segment of data needs to be kept redundant locally for each of these services.
  • How data is synchronized between Microservices for redundant data.
  • Consistency requirements of data. (Whether its transactional requiring strong consistency vs possibility of implementing eventual consistency).
  • Selection of right interfaces, channels, and middleware for communications and interaction between services.
  • Required level of Security, Reliability, Performance, and Efficiency thinking the costs in mind.
  • Tools and technologies to be used for individual Microservices. (Serverless, Containers, Web Technologies & etc.)
  • How to version and share code (If required) in the form of libraries using repositories like NPM.
  • How the teams and processes (Development, DevOps, Change Management & etc.) are structured around Microservices.

References