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

Limitations

Although a monolithic architecture for the Helping Hands application fulfills the purpose, it has some inherent limitations. There is a high coupling of the components with the consumers and providers table. Any change in these two tables will affect almost all the components of the system and will require redeployment of the entire application.

The Helping Hands application also depends on two external services. Suppose one of these services shuts down or there is a requirement to move to a better service; the corresponding geolocation or alerting component will be changed and will result in the redeployment of all the instances of the application, even though there was no change in the core functionality and services of the application. This adds to the deployment overhead for simple changes as well.

Since the entire application is deployed as a single artifact, scaling an application scales all the components of the application equally. For example, to scale with incoming order and service lookup requests, the Registration Component is unnecessarily scaled with the order and service components. This also increases the load on the database that is handling all the incoming requests from the components. Often, requests from one component can affect the database performance for other components as well and reduce the performance of the entire application.

Another limitation of the current monolithic architecture of the Helping Hands application is its dependency on a single database technology. In practice, a fuzzy search for services using tags and lookup using geolocations can be supported better by databases such as Elasticsearch (https://www.elastic.co/products/elasticsearch) as compared to relational databases such as MySQL (https://www.mysql.com/). Relational databases are better suited for transactional operations such as creating service orders and maintaining user accounts. With the current architecture, there is only one database technology, and that affects the efficiency of the application and makes it less flexible.

主站蜘蛛池模板: 黄浦区| 临海市| 琼结县| 清流县| 彭水| 苍南县| 井研县| 吴桥县| 林芝县| 肃宁县| 嘉禾县| 惠来县| 桐梓县| 安平县| 惠水县| 安远县| 安国市| 蒲城县| 南通市| 吴忠市| 元氏县| 金乡县| 富宁县| 通州市| 南丰县| 灌云县| 武乡县| 正镶白旗| 铜山县| 云和县| 牡丹江市| 清苑县| 平罗县| 墨玉县| 伊川县| 绿春县| 贡觉县| 二连浩特市| 武义县| 新源县| 青冈县|