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

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.

主站蜘蛛池模板: 紫阳县| 衡南县| 隆化县| 西充县| 沙湾县| 方正县| 金门县| 宁武县| 奉贤区| 黄骅市| 兴海县| 阜新| 根河市| 宣武区| 哈巴河县| 精河县| 白水县| 榆林市| 永嘉县| 宁河县| 武胜县| 大渡口区| 内丘县| 晋宁县| 师宗县| 呼伦贝尔市| 阜南县| 克拉玛依市| 岳阳县| 武功县| 奉化市| 六安市| 廉江市| 富平县| 玉门市| 梅河口市| 宜都市| 邮箱| 高碑店市| 北宁市| 闽清县|