- Mastering Microservices with Java
- Sourabh Sharma
- 287字
- 2021-07-02 13:03:28
One-dimension scalability
Monolithic applications that are large when scaled, scale everything, as all the components are bundled together. For example, in the case of a restaurant table reservation application, even if you would like to scale only the table-booking service, you would scale the whole application; you cannot scale the table-booking service separately. This design does not utilize resources optimally.
In addition, this scaling is one-dimensional. Running more copies of the application provides the scale with increasing transaction volume. An operation team could adjust the number of application copies that were using a load balancer based on the load in a server farm or a cloud. Each of these copies would access the same data source, therefore increasing the memory consumption, and the resulting I/O operations make caching less effective.
Microservices architectures give the flexibility to scale only those services where scale is required and allow optimal utilization of resources. As mentioned previously, when needed, you can scale just the table-booking service without affecting any of the other components. It also allows two-dimensional scaling; here we can not only increase the transaction volume, but also the data volume using caching (platform scale). A development team can then focus on the delivery and shipping of new features, instead of worrying about the scaling issues (product scale).
Microservices could help you scale platforms, people, and product dimensions, as we have seen previously. People scaling here refers to an increase or decrease in team size depending on the microservices' specific development needs.
Microservice development using RESTful web service development provides scalability in the sense that the server-end of REST is stateless; this means that there is not much communication between servers, which makes the design horizontally scalable.
- HornetQ Messaging Developer’s Guide
- Access 數(shù)據(jù)庫(kù)應(yīng)用教程
- Python Geospatial Development(Second Edition)
- Amazon S3 Cookbook
- 3D少兒游戲編程(原書(shū)第2版)
- 程序設(shè)計(jì)基礎(chǔ)教程:C語(yǔ)言
- Python3.5從零開(kāi)始學(xué)
- 精通MySQL 8(視頻教學(xué)版)
- IoT Projects with Bluetooth Low Energy
- OpenCV Android Programming By Example
- ASP.NET 4.0 Web程序設(shè)計(jì)
- Node.js區(qū)塊鏈開(kāi)發(fā)
- Mastering Gephi Network Visualization
- Android移動(dòng)應(yīng)用開(kāi)發(fā)項(xiàng)目教程
- WebStorm Essentials