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.