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

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.

主站蜘蛛池模板: 罗田县| 长海县| 德江县| 玉门市| 改则县| 宁明县| 乡宁县| 共和县| 兴化市| 堆龙德庆县| 衡阳县| 浑源县| 竹溪县| 张家口市| 柳江县| 定西市| 涿州市| 辉南县| 驻马店市| 遵化市| 永丰县| 荥经县| 科尔| 曲水县| 阿拉尔市| 施甸县| 合川市| 云安县| 山西省| 沾化县| 莆田市| 安达市| 东丽区| 泽库县| 宣恩县| 常州市| 饶阳县| 桂平市| 沈阳市| 略阳县| 寿阳县|