官术网_书友最值得收藏!

Chapter 1. What are Microservices?

Good projects need good solutions; this is why developers are always looking for better ways to do their jobs. There is no best solution for all projects because every single project has different needs and the architect (or the developer) has to find the best solution for that specific project.

Microservices are maybe a good approach to solve problems; in the last few years, companies such as Netflix, PayPal, eBay, Amazon, and Spotify have chosen to use microservices in their own development teams because they believed them to be the best solution for their projects. To understand why they chose microservices and understand the kinds of projects you should use them in, it is necessary to know what a microservice is.

Firstly, it is essential to understand what a monolithic application is, but basically, we can define a microservice as an extended Service Oriented Architecture. In other words, it is a way to develop an application by following the required steps to turn it into various little services. Each service will execute itself and communicate with others through requests, usually using APIs on HTTP.

To further understand what microservices are, we first need to understand what a monolithic application is. It is the typical application that we have been developing for the last few years, for example in PHP, using a framework like Symfony; in other words, all the applications we have been developing are pided into different parts, such as frontend, backend, and database, and also use the Model-View-Controller (MVC) pattern. It is important to differentiate between MVC and microservices. MVC is a design pattern and microservices are a way to develop an application; therefore, applications developed using MVC could still be monolithic applications. People may think that if we split our application into different machines and pide the business logic from the model and the view, the application is then based on microservices, but this is not correct.

However, using a monolithic architecture still has its advantages. There are also various huge web applications, such as Facebook, that use it; we just need to know when we need to use a monolithic architecture and when we need to use microservices.

主站蜘蛛池模板: 麻栗坡县| 贵定县| 保定市| 海宁市| 乌海市| 三明市| 报价| 忻城县| 行唐县| 寻甸| 缙云县| 漯河市| 搜索| 鄂州市| 合阳县| 吕梁市| 罗平县| 潮州市| 监利县| 时尚| 财经| 山东省| 咸宁市| 本溪| 南靖县| 台东县| 华坪县| 延安市| 宝山区| 华容县| 庐江县| 额敏县| 靖江市| 新竹市| 乡城县| 石泉县| 武汉市| 临汾市| 宁晋县| 鄂伦春自治旗| 澳门|