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

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.

主站蜘蛛池模板: 郁南县| 富锦市| 曲麻莱县| 新昌县| 乌拉特后旗| 利津县| 丹东市| 怀集县| 锡林郭勒盟| 曲松县| 大余县| 遵义县| 宁晋县| 罗定市| 丹江口市| 吴忠市| 乡宁县| 玉山县| 清镇市| 滦南县| 阜新市| 寿光市| 安乡县| 犍为县| 潼南县| 兴义市| 固始县| 饶平县| 咸宁市| 井陉县| 方山县| 汉沽区| 和硕县| 香港| 曲阜市| 南岸区| 那坡县| 舞阳县| 呼图壁县| 宁南县| 邵阳市|