3 ms·
If you're using exclusively AWS, you should have instances in 2 different regions, at least. Instead of relying on the elastic load balancer, you should be doi
by sespindola 15y ago
If you're using exclusively AWS, you should have instances
in 2 different regions, at least.
Instead of relying on the elastic load balancer, you should
be doing load balancing with DNS using SRV records.
If you are using SRV records and you are at the beginning
of what seems to be a serious downtime, you can set all
the weight of your SRV records to the instances in the
healthy AZ.
In the backend, if you're using SQL, you should use a DB
with a WAL-based async replication, like Postgresql.
In PostgreSQL 9, you have streaming replication integrated
to the DB. If using PostgreSQL 8, you could use third
party apps, like Slony-1 or PG-Pool II.
In the NoSQL databases, there seems to be a "last write wins" effect. Even in distributed beasts like Cassandra.
So if you are running a NoSQL cluster, you need to
determine which nodes received the most data during the
outage and repair from there.
- spitfire 15y agoI'm still not sure why people ever used mysql for anything more than a simple datastore with sql interface. Since time eternal (the 90's) mysql has been the fastest way on the net to lose your data. (I still remember the many data corruption bugs). Use postgres or if you have the need/money a DB like DB2.