I have Magento 2.2 running on a GCE Managed Instance Group. Its not a big site, but I run it on a minimum of 2 instances which gives me some resilliancy, allows me to do zero downtime upgrades, and scales when/if it needs to.
I use Cloud SQL for my backend SQL database and also currently store sessions in the database.
I have a single redis node deployed to provide backend and FPC cache's to all frontends.
Having a single redis node just to provide caching functions across the cluster seems overkill for what I need, and I'm looking to get rid of it.
Am I right in thinking that I must have a "distributed" FPC and Backend cache if I have multiple frontends behind a load balancer. Could I not just run an independant local redis on every frontend server. Each server configured to access their local redis. If a new frontend is launched, it will start of with no cache, but will soon build up a cache of its own. Is this an acceptable approach. I suspect that clearing cache commands would no longer work as it would only clear the cache on the node that is serving the adminhtml pages that triggered the cache clear.
Other option maybe? I see memcached can operate distributed. Will it work dynamically, so if I run a memcached server on each frontend, can they pool dynamically, as the instance group grows and shrinks, and memcached instances are created/destroyed. Thus providing the single memcache "domain" for the frontend cluster, but with no single memcache installation?
Thanks in advance.