Acesta nu este un răspuns complet, mai mult câteva gânduri de încercat și întrebări care nu se potrivesc într-o casetă de comentarii. Vă rugăm să încercați să rezistați impulsului de a vota negativ :)
Peeringul VPC merită cu siguranță încercat, așa traficul rămâne pe coloana vertebrală AWS care ar trebui să reducă puțin latența. Nu știu cât de mult va ajuta asta. Aceste trei zone sunt la o distanță de 200 - 300 ms ping, așa că veți avea întotdeauna unele întârzieri.
Bănuiesc că conversația dintre client și DB este mai multe solicitări pentru o inserare - de exemplu, creați o conexiune, conectați-vă la un anumit DB, inserați, commit, închideți. Dacă este cazul, reducerea latenței ajută, dar eliminarea unora dintre pași este mai importantă. Utilizați gruparea de conexiuni, astfel încât conexiunile sunt deja deschise? Bănuiesc că peeringul VPC și optimizarea generală aceasta va fi o soluție mai bună decât oricare dintre ideile de mai jos.
Dacă există vreo modalitate de a face actualizările asincrone? Dacă puteți pune scrieri într-o coadă SQS procesată într-o singură regiune, probabil că se va face într-o secundă sau două. Aceasta ar putea fi o optimizare a conexiunilor directe la baza de date, în funcție de cât de rapid este.
Multi-master este o altă opțiune, folosind caracteristici de replicare nativă a bazei de date. Nu sunt pe deplin sigur dacă puteți face acest lucru în RDS, dar poate merită să vă uitați dacă este posibil și avantajele / dezavantajele. Dacă vă așteptați ca oamenii să actualizeze aceeași înregistrare în același timp, va trebui să vă protejați împotriva acestui lucru.
O altă opțiune ar putea fi sharding, cu date specifice utilizatorilor pe baze de date specifice. Totuși, asta va face logica aplicației dvs. mai complexă.