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

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.

主站蜘蛛池模板: 龙川县| 维西| 高尔夫| 肥城市| 西充县| 涪陵区| 阿瓦提县| 黄石市| 宣恩县| 桐城市| 洞头县| 平陆县| 英超| 五峰| 榕江县| 中超| 普安县| 获嘉县| 阳城县| 永仁县| 南靖县| 黄大仙区| 房山区| 忻城县| 闽清县| 惠来县| 通榆县| 沂水县| 岐山县| 调兵山市| 晋宁县| 阿拉尔市| 汪清县| 潜山县| 界首市| 信丰县| 革吉县| 枝江市| 客服| 武强县| 调兵山市|