In: Computer Science
Suppose that your company has decided to change the architecture of the software your team works on. The goal is to try to support more concurrent users.
The possible risks and the its solution are:
1. Data Integrity: When two users try to modify a data in the database at the same time or when one user is editing information whilst others read the original data can affect the integrity of system's data. Data integerity can be ensured by introducing concurrency control system. A concurrency control system provides safe access to shared information, removing the risk of collisions that cause data integrity problems or data loss. This is achieved by either preventative locking, where access to data being edited by another user is limited or removed, or by the detection of collisions, where problematic changes are disallowed.
2. Impact in system performance due to increased traffic on the application: When a number of users tries to concurrently access the application, there can be issues in in terms of responsiveness and stability of the software under a particular workload resulting the system to crash or work at slow pace. This can be resolved by doing performance testing on the system before deploying to validate the resposiveness of the system during high traffic. It is done to identify bottlenecks in the system. Load testing is the simplest performance testing.