At work we use maxscale, which acts as a proxy delegating traffic to multiple mariadb-nodes, with a single node acting as the primary handling the writes.
The other nodes are eventually consistent, so if you need to do write+read to the same node, things need to be wrapped in a transaction (or a hint needs to be added to the query specifying which node needs to handle the query).
We don't manage this ourselves, as we use a managed service for this, so no idea how complicated it is to manage.
Except it only keeps cookies separated, history is shared over all containers.