I just want to identify areas that you need to worry about in the database.
First, most data models built with only one database server require significant changes to support the database farm in multimaster mode.
If you used auto-incrementing integers for your primary keys (which most people do), you are mostly turned out of the gate. There are several ways to temporarily mitigate this, but even those that require a lot of guesswork and have high collision potential. One mitigation involves setting the initial value on each server to a large enough number to reduce the likelihood of a collision ... This will usually work for a while.
Of course, you need to figure out how to split users on different servers ...
My point is that this area should not be slightly brushed aside and it is almost always difficult to accomplish than simply scaling up the database server, placing it on larger equipment.
If you intentionally built a data model with the role of several masters, then kindly ignore.;)
Regarding sessions: do not trust βstickyβ sessions, sticky is not a guarantee. Honestly, our materials are usually deployed in server farms, so we completely disconnect the session state from the transition. As soon as you go to the farm, there is almost no reason to use session state, because the data must be received from the state server, deserialized, serialized and stored on the state server each time one page loads.
Taking into account the DB and network traffic from the very beginning, and their goal was to reduce db and network traffic, you will understand how they no longer buy you.
Notme source share