Learn to develop micro, efficient, and scalable services for server-side programming in Node.js using this hands-on guide
About This Book
- Real world example explained chapter after chapter with code examples.
- Useful concepts for other languages like Java or PHP
- Easy to follow by people with little to none experience in Node.js
- Node.js Version 0.12.2 and the latest compatible versions of Seneca and PM2
Who This Book Is For
Node.js developer with basic server-side development knowledge - but no knowledge of implementing microservices in Node.js applications. Also useful for developers in other languages like Java or C#.
What You Will Learn
- Identify where the microservice oriented architectures can tackle the most common problems in the software used by the big organisations.
- Re-architecture an existing monolithic system into a microservices oriented software.
- Build robust and scalable microservices using Seneca and Node.js.
- Testing of the microservices in insolation in order to create a solid system.
- Deploy and manage microservices using PM2
- Monitoring the health of a microservice (CPU, memory, I/O…) and how the degradation of the performance in one microservice could degrade the performance of full system.
In Detail
Microservices architecture is a style of software architecture. As the name suggests, microservicess refers to small services. For a large implementation, this means breaking the system into really small, independent services. Alternative to monolithic architecture (where the entire system is considered as a single big, interwoven segment), microservices approach is getting more and more popular with large, complex applications that have a very long lifecycle, which require changes at regular intervals. Microservices approach allows this type of changes with ease as only a part of the system undergoes changes and change control is easy.
An example of such large system can be an online store-includes user interface, managing product catalog, processing orders, managing customer's account. In a microservices architecture each of these tasks will be divided and into smaller services. Also, these services will be further broken down into independent services-for user interface, there will be separate services for input, output, search bar management, and so on. Similarly, all other tasks can be divided in very small and simple services.