AWS'de birden çok bölgeye dağıtılması gereken basit bir web uygulaması oluşturuyorum. Uygulama, ayrı bir servis tarafından yönetilen bazı dinamik yapılandırma gerektirir. Bu hizmet aracılığıyla yapılandırma değiştirildiğinde, tüm bölgelerdeki tüm web uygulaması örneklerine yayılması için bu değişikliklere ihtiyacım var.Uygulama yapılandırma dosyalarını depolamak için S3'ü kullanma
Bunu yapmak için DynamoDB ile çapraz bölge çoğaltması kullanmayı düşündüm, ancak her bölgede ve çoğaltma konsolunda DynamoDB'yi çalıştırmanın ek maliyetine katlanmak istemiyorum. Sonra düşünce, doğası gereği enine kesiti olan S3'ü kullanmamı sağladı.
Temel olarak, yapılandırma hizmeti tüm yapılandırmaları S3'e statik JSON dosyaları olarak yazar. Her web uygulaması örneği, son kontrolden beri yapılandırma dosyalarından herhangi birinin değişip değişmediğini görmek için S3'ü periyodik olarak kontrol eder ve gerekirse yeni yapılandırmayı indirir. Yapılandırma değişiklikleri zamana duyarlı değildir, bu nedenle her 5/10 dakikada bir değişikliklerin yoklaması yeterli olur.
Daha önce uygulama yapılandırmalarını yönetmek için benzer bir yaklaşım kullandınız mı? Bunun akıllı bir çözüm olduğunu mu düşünüyorsunuz yoksa daha iyi tavsiyeleriniz var mı?
S3 "doğal olarak çapraz bölge" değil. Her bir kepçe belirli bir bölgededir ve bu kepçedeki nesneler için talepler yalnızca bu bölgedeki uç noktalardan sunulur. 'Bucket-name.s3.amazonaws.com' yapısı, birleşik bir hizmetin görünümünü verir, ancak S3, her bir kronun alt etki alanını gerçek doğru bölgesel son noktaya işaret etmek için kendi DNS'ini güncelleştirmesidir.Ayrıca, istenirse hemen tüm servislere bölgeler arasında erişilebilir, ancak kendinizle ilgili endişe ve veri aktarım ücretleri söz konusudur. –