While designing a complex application such as an e-commerce website, you need to handle the user state to maintain activity flow, where users may be performing a chain of activities such as adding to the cart, placing an order, selecting a shipping method, and making a payment. Currently, users can use various channels to access an application, so there is a high possibility that they will be switching between devices; for example, adding items in the cart from their mobile and then completing checkout and payment from a laptop. In this situation, you would want to persist user activity across the devices and maintain their state until the transaction is complete. Therefore, your architecture design and application implementation need to plan for user session management in order to fulfill this requirement.
To persist user states and make applications stateless, user-session information needs to be stored in persistent database layers...