Saya mencoba untuk mengukur aplikasi web kami (PHP, MySQL, memcache) dalam skema multi-wilayah. Saat ini kami menggunakan pengaturan dengan dua instance EC2 di belakang ELB dan instance RDS, semuanya di wilayah US-EAST (Virginia).
Kami juga ingin hadir di kawasan UE (Irlandia). Ini berarti setidaknya ada instance EC2 baru di sana (identik dengan yang lain, melayani aplikasi yang sama).
Saya telah menyalin AMI yang diinginkan, mengatur instance baru, mengatur konfigurasi ELB yang sama (diperlukan untuk penghentian SSL) dan mengkonfigurasi routing berbasis latensi di Route53. Dan itu berfungsi seperti yang disarankan.
Tetapi, klien dari UE memiliki masalah kecepatan. Hal ini disebabkan oleh fakta bahwa instance EC2 UE terhubung ke instance RDS yang berbasis di AS. Sejauh yang saya tahu Amazon belum mengaktifkan replikasi multi-wilayah RDS.
Apakah Anda punya saran tentang cara mempercepat seluruh pengaturan dengan benar saat menggunakan instance RDS tunggal?
Juga, ada ide secara umum tentang bagaimana meningkatkan skala? Idealnya kami ingin terus menggunakan teknologi RDS karena berbagai alasan. Namun demikian, saya terbuka untuk saran (saya kira ide selanjutnya adalah meng-host server MySQL kami sendiri).
RDS bagus untuk penyebaran satu wilayah karena latensi rendah, tetapi menjadi cerita yang berbeda ketika Anda mulai memperluas ke berbagai wilayah. Jika Anda ingin menyimpan instance RDS, Anda dapat mengatur server MySQL Anda sendiri di wilayah UE dan melakukan replikasi. Dengan cara ini, kecepatannya akan jauh lebih dapat diterima.
sumber
Baru-baru ini, AWS bergerak ke arah yang sebelumnya saya tanyakan dalam pertanyaan saya dengan mengumumkan RDS lintas-daerah membaca replika . Namun, ini hanya langkah kecil menuju pengaturan multi-wilayah sejati.
sumber
Saya percaya ini yang Anda inginkan. Replikasi RDS ke EC2 menjalankan mysql di wilayah yang berbeda.
https://aws.amazon.com/about-aws/whats-new/2013/09/05/amazon-rds-new-data-migration-capabilities-mysql/
sumber
Salah satu solusi yang mungkin untuk meningkatkan latensi bisa menggunakan Amazon ElastiCache (yang pada dasarnya Memcached di bawah penutup).
Anda harus membuat Node ElastiCache di setiap wilayah (US-EST dan UE) dan meminta logika aplikasi Anda (EC2) menggunakan simpul cache kapan pun memungkinkan. Jika Anda menggunakan rute ini, Anda harus merancang ulang aplikasi Anda 1) tahu apa yang harus di-cache dan kapan dan 2) untuk mengambil sebanyak mungkin dari NastiCache Node lokal.
sumber