- Some exposure to the HTTP protocol
- You should've at least heard of Nodejs
- Node.js and npm (The Node.js installation will also install npm)
Microservices are a single self-functional system which, along with other units, form a complex system. Each small unit of the system is a fully functional, scalable, and deployable system. Each unit can be written in different programming languages and tested separately without causing an impact on other parts of the system. Microservices are the big block made up of smaller sub-blocks (Services), with each sub-block being an independent operating unit. If any of the unit (services) goes wrong, it will not take long to replace that service, which in turn reduces the risk of development and the costs involved in the operation of the infrastructure. This architecture is widely used by world-famous organizations including Uber, Netflix, Amazon, eBay, Groupon, and many more. Microservices are not coupled with any technology say Java or Node. You are free to choose any technology to build systems with Microservices style.
Before we discuss microservice we have to know about the traditional method used before microservices. In monolithic engineering, they are built as one large system and are usually one code-base. A monolith is often deployed all at once, both front and end code together, regardless of what was changed. Microservices architecture is where an app is built as a suite of small services, each with its own code-base.
Some differences are listed down:-
- Understanding a huge code base becomes difficult, especially for new developers
- Large code files make the development environment slow, like IDE
- Changing technology or language becomes complicated as the code base is tightly coupled
- CI/CD becomes challenging and time-consuming and needs a dedicated team to manage it
- They are small and specific to business requirement
- Loosely coupled and can be easily developed and deployed
- Development can be done using different technologies
- Microservices can be built with new technology stack enabling faster development cycles
- Can be easily scaled on demand
By doing this project, you learned how to create a basic distributed system architecture with Node.js. You saw how to delegate responsibility for different tasks to separate applications and to communicate between services. Both applications communicate with each other by exposed REST APIs. Each manipulates only the data for which it is responsible and can be maintained, extended, and deployed without involving the other service.
The project can be explained clearly in below steps in modules.
1. Microservices 2. Rules of Microservices 3. Advantages and Drawbacks of Microservices 4. What is Node.js 5. Microservice-Node.js 6. Why Microservices with Node.js? 7. Summing up 8. Resources 9. Module Test
1. Introduction 2. Install npm 3. Create the heroes service? 4. Test the heroes.js service 5. Create the threads service 6. Test the threats service 7. Output 8. Summary 9. Resources 10. Module Test
SkillPractical Nodejs Learning path give a structure to training programs. This learning path is designed for individuals who want to learn how to use the most common topics in Nodejs and in microservices. They will cover in a step by step procedure from beginner to advanced.