Perutean permintaan lapisan komputasi - AWS Bimbingan Preskriptif

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Perutean permintaan lapisan komputasi

Dengan routing permintaan compute-layer, kode yang berjalan di lapisan komputasi menentukan apakah akan memproses permintaan secara lokal atau meneruskannya ke salinan dirinya sendiri yang berjalan di Wilayah lain. Saat Anda menggunakan mode tulis ke satu Wilayah, lapisan komputasi mungkin mendeteksi bahwa itu bukan Region aktif dan mengizinkan operasi baca lokal sambil meneruskan semua operasi tulis ke Wilayah lain. Kode lapisan komputasi ini harus mengetahui topologi data dan aturan perutean, dan menegakkannya dengan andal, berdasarkan pengaturan terbaru yang menentukan Wilayah mana yang aktif untuk data mana. Tumpukan perangkat lunak luar di dalam Wilayah tidak harus mengetahui bagaimana permintaan baca dan tulis dirutekan oleh layanan mikro. Dalam desain yang kuat, Wilayah penerima memvalidasi apakah Wilayah tersebut merupakan wilayah primer saat ini untuk operasi tulis. Jika tidak, maka akan muncul kesalahan yang menunjukkan bahwa status global perlu diperbaiki. Wilayah penerima mungkin juga melakukan buffering pada operasi tulis untuk sementara waktu jika Wilayah utama sedang dalam proses perubahan. Dalam semua kasus, tumpukan komputasi di suatu Wilayah hanya menulis ke titik akhir DynamoDB lokalnya, tetapi tumpukan komputasi tersebut mungkin berkomunikasi satu sama lain.

Perutean permintaan lapisan komputasi

Vanguard Group menggunakan sistem yang disebut Global Orchestration and Status Tool (GOaST) dan perpustakaan bernama Global Multi-Region library (GMRlib) untuk proses routing ini, seperti yang disajikan di re:Invent 2022. Mereka menggunakan model primer follow-the-sun tunggal. GOaSTmempertahankan keadaan global, mirip dengan kontrol ARC routing yang dibahas di bagian sebelumnya. Ini menggunakan tabel global untuk melacak Wilayah mana yang merupakan Wilayah utama dan kapan sakelar utama berikutnya dijadwalkan. Semua operasi baca dan tulis dilaluiGMRlib, yang berkoordinasi denganGOaST. GMRlibmemungkinkan operasi baca dilakukan secara lokal, pada latensi rendah. Untuk operasi tulis, GMRlib periksa apakah Wilayah lokal adalah Wilayah utama saat ini. Jika ya, operasi tulis selesai secara langsung. Jika tidak, GMRlib teruskan tugas menulis ke GMRlib dalam Wilayah utama. Pustaka penerima tersebut mengonfirmasi bahwa ia juga menganggap dirinya sebagai Wilayah utama dan menimbulkan kesalahan jika bukan, yang menunjukkan penundaan penyebaran dengan keadaan global. Pendekatan ini memberikan manfaat validasi dengan tidak menulis langsung ke titik akhir DynamoDB jarak jauh.