- Mastering Microservices with Java 9(Second Edition)
- Sourabh Sharma
- 287字
- 2021-07-02 21:54:42
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 the table-booking service, it would scale the whole application; it cannot scale the table-booking service separately. It does not utilize the 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 gives the flexibility to scale only those services where scale is required and it allows optimal utilization of the resources. As we mentioned previously, when it is 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 platform, people, and product dimensions as we have seen previously. People scaling here refers to an increase or decrease in team size depending on microservices' specific development and focus needs.
Microservice development using RESTful web-service development makes it scalable in the sense that the server-end of REST is stateless; this means that there is not much communication between servers, which makes it horizontally scalable.
- UML和模式應用(原書第3版)
- Mastering SVG
- Building Cross-Platform Desktop Applications with Electron
- Practical Game Design
- 精通Python自然語言處理
- SSM輕量級框架應用實戰
- Mastering Business Intelligence with MicroStrategy
- Learning Continuous Integration with TeamCity
- 速學Python:程序設計從入門到進階
- R用戶Python學習指南:數據科學方法
- HTML+CSS+JavaScript網頁設計從入門到精通 (清華社"視頻大講堂"大系·網絡開發視頻大講堂)
- Beginning C++ Game Programming
- TypeScript 2.x By Example
- Spring Data JPA從入門到精通
- Implementing Domain:Specific Languages with Xtext and Xtend