CloudFront gecikmeyi azaltır mı
Cloudfront’tan artan gecikmeyi nasıl giderir ve azaltabilirim
Kısa Açıklama
CloudFront’tan gecikmeyi gidermek için önce aşağıdaki olaylardan hangisinin gecikmeye katkıda bulunduğunu belirleyin:
– İstemci ve Cloudfront Edge konumları arasında gitme istekleri için alınan süre. Bu, alan adı Sistemi (DNS) arama işlemini ve TCP ve SSL/TLS müzakerelerini içerir.
– Cloudfront ve Menşe arasında gitme taleplerinin alınması. Bu, başlangıç DNS arama süreci, TCP ve SSL/TLS müzakerelerini, kökeni ile müzakereleri ve bir nesneyi işlemek ve yanıtlamak için orijin tarafından alınan zamanı içerir.
Ardından, gecikmeyi azaltmak için belirlenen olaylar için sorun giderme adımlarını izleyin.
Makalenin özeti
Makale, Amazon Web Hizmetleri (AWS) kullanılarak yüksek performanslı bir web uygulaması oluşturma deneyimini tartışıyor ve özellikle CloudFront’tan gecikmeyi azaltmaya odaklanıyor. Yazar, proje arka planını açıklar, düşük gecikme elde etmenin çeşitli yollarını araştırır ve kullanılan mimari.
Yazar, nihai tutarlılığın önemini vurgular ve farklı tedarikçilerden kalan sonuçları toplarken ilk sonuçları tüketicilere iade etme zorluğunu tartışır. Ekip, bu hedefe ulaşmak için Redis için eşzamansız çağrılar ve AWS elasticache kullanıyor.
Altyapı tarafında, yazar ölçeklenebilirlik için AWS Elastik Konteyner Servisi’ni (ECS) ve yüksek kullanılabilirlik için Amazon Cloudfront’u seçti. CloudFront, Redis için AWS Elasticache’nin üstünde ikinci bir önbellek katmanı olarak hareket ediyor. Makale, sistemi göstermek için genel bir AWS mimarlık diyagramı sağlar.
Yüksek kullanılabilirlik ve ölçeklenebilirlik sağlamak için ECS hizmeti için otomatik olarak uygulandı. Uygulama yükü dengeleyici, sağlıklı fargate görevlerini algılar, sağlıksız görevleri sona erdirir ve bunları değiştirmek için yeni görevler başlatır. Birden fazla kullanılabilirlik bölgesinin kullanımı, bir kullanılabilirlik bölgesi kullanılamasa bile uygulamanın çalışmaya devam etmesini sağlar.
Yazar, JMeter kullanarak yük testi yaptı ve uygulama yük dengeleyicisi ile CloudFront arasındaki gecikmeyi karşılaştırdı. Sonuçlar,% 0 hata oranı ile birlikte CloudFront kullanılırken gecikmede önemli bir azalma gösterdi.
Sonuç olarak, yazar projeyi ödüllendiriyor ve uygulanan mimariye Ascenda sadakatinden geri bildirim sağlıyor. Makale, başvurunun bir demosunu görüntüleme davetiyle bitiyor.
Sorular ve cevaplar
1. Cloudfront’tan artan gecikmeye katkıda bulunabilecek bazı olaylar nelerdir??
Sorun giderme işlemi sırasında aşağıdaki olaylar dikkate alınmalıdır:
– DNS Arama Süreci ve TCP ve SSL/TLS müzakereleri dahil olmak üzere istemci ve CloudFront Edge konumları arasında gitme istekleri için alınan süre.
– Arign DNS Arama Süreci, TCP ve SSL/TLS müzakereleri, menşe ile TCP ve SSL/TLS müzakereleri ve bir nesne ile yanıt vermek için alınan zaman dahil olmak üzere, CloudFront ve Menşei Arası Talepler için alınan süre.
2. Cloudfront’tan gecikmeyi nasıl giderir ve azaltabilirim?
CloudFront’tan gelen sorun gidermek ve gecikmeyi azaltmak için şu adımları izleyin:
– Yukarıda belirtilen olaylardan hangisinin gecikmeye katkıda bulunduğunu belirleyin.
– Her olay için ilgili süreçleri analiz edin ve optimize edin. Örneğin, verimli DNS aramasını sağlayın, TCP veya SSL/TLS yuvarlak gezilerinin sayısını en aza indirin ve menşe tepki süresini optimize edin.
– Veri toplamak ve dağıtımınızın performansına ilişkin bilgiler kazanmak için CloudFront izleme ve günlüğe kaydetme araçlarını kullanın.
– Optimum performansı sağlamak için CloudFront yapılandırmalarınızı düzenli olarak inceleyin ve hassaslaştırın.
3. Uygulamada nihai tutarlılığın önemi nedir?
Uygulama, bölüm toleransından ödün vermeden yüksek kullanılabilirlik elde etmek için nihai tutarlılık gerektirir. Dağıtılmış bir sistemde tutarlılığı, kullanılabilirliği ve bölüm toleransını aynı anda garanti etmenin imkansız olduğunu belirten Brewer’ın teoremi (Cap Thorem) nedeniyle katı tutarlılık mümkün olmayacaktır. Sonunda tutarlılık seçerek, uygulama kalan sonuçları toplarken tüketicilere hızlı bir şekilde ilk sonuçları sağlayabilir.
4. Ekip, birden fazla otel tedarikçisinden sonuçları nasıl toplar??
Ekip, birden fazla otel tedarikçisine eşzamansız çağrılar kullanıyor. Bu, kalan sonuçları arka planda yavaş yavaş toplarken ilk sonuçları tüketicilere iade etmelerini sağlar. Redis için AWS Elasticache de sonuçları önbelleğe almak için kullanılır ve performansı daha da artırır.
5. Mimaride AWS Elastik Konteyner Servisi (ECS) kullanmanın amacı nedir??
Uygulamada ölçeklenebilirliği sağlamak için AWS Elastik Konteyner Servisi (ECS) kullanılır. Konteynerlerin kullanımı, uygulamanın kolay yönetimi ve dağıtımına izin verir ve arka uç hizmetlerini buna göre ölçeklendirerek trafik yükünü ele almak için otomatik destekleme uygulanır.
6. Amazon CloudFront nasıl yüksek kullanılabilirlik sağlar??
Amazon Cloudfront, Redis için AWS Elasticache’nin üstünde ikinci bir önbellek katmanı olarak görev yapıyor. En yakın kenar konumundan son kullanıcıya içerik önbelleğe alan ve sunan bir içerik dağıtım ağı (CDN) olarak hizmet eder. Bu, gecikmeyi azaltmaya yardımcı olur ve S3’te barındırılan statik React JS web uygulamasının yüksek düzeyde mevcut olmasını sağlar.
7. ECS Servisinde Otomatik Çıkarmayı Kullanmanın Avantajları Nelerdir??
Otomatikleştirme, uygulamanın doğru miktarda kaynak ve kapasiteyi sağlayarak mevcut talebi ele alabilmesini sağlar. Arka uç hizmetlerinin otomatik olarak ölçeklendirilmesine izin verir, bu da onları arızaya toleranslı ve düşük maliyetli hale getirir.
8. Uygulama yük dengeleyici fargate görevlerinin sağlığını nasıl sağlar??
Uygulama Yük Dengeleyici, Fargate görevlerinin sağlığını belirlemek için arka uç hizmetlerinde bir sağlık kontrolü uç noktası kullanır. Sağlık kontrolü uç noktasına ulaşılamazsa, görevi sağlıksız olarak görür, hedef gruptan dereiisterler, sonlandırır ve onu değiştirmek için yeni bir görev başlatır. Bu, bir kullanılabilirlik bölgesi kullanılamasa bile uygulamanın mevcut kalmasını sağlar.
9. CloudFront, uygulama yük dengeleyicisine kıyasla ne faydalar sağlıyor??
Yapılan yük testinde, CloudFront’a yapılan istekler, uygulama yük dengeleyicisine kıyasla gecikmede önemli bir azalma gösterdi. CloudFront bir CDN görevi görür ve son kullanıcıya daha yakın kenar konumlarından içerik önbelleğe alınmasına ve sunulmasına yardımcı olur, bu da gelişmiş performans ve daha az gecikme ile sonuçlanır.
10. Yazar proje üzerinde çalışma deneyimlerini nasıl tanımlıyor??
Yazar, projeyi özellikle AWS’deki yeni başlayanlar için göz korkutucu olarak tanımlıyor. Bununla birlikte, başarılı uygulamayı ve elde edilen şaşırtıcı sonuçları görmek de ödüllendiriciydi.
Cloudfront’tan artan gecikmeyi nasıl giderir ve azaltabilirim
Узнайте, как с помощью Amazon CloudFront наладить доставку контента и ускорить работу интернет-приложений для конечных пользователей.
Amazon Cloudfront ile düşük gecikme elde etmek
Yüksek kullanılabilirlik ve nihai tutarlılığa sahip bir web uygulaması oluşturmak
Yayınlanan
4 dk okuma
23 Mayıs 2021
Arka plan
Bu, son zamanlarda 2021’in ilk yarısında yaptığım bir projeydi. Amazon Web Services (AWS) kullanarak ekibimin yüksek performanslı bir başvuru oluşturmakla görevlendirildiği Ascenda Sadakati ile bir işbirliği oldu. Uygulama gereksinimleri, nihai tutarlılık elde ederken yüksek ölçeklenebilir ve mevcut olması gerektiğidir.
Bölüm toleransından ödün vermeden hem yüksek kullanılabilirlik hem de katı tutarlılık elde etmek neredeyse imkansız olduğu için nihai tutarlılıktan ve katı tutarlılıktan bahsetmek önemlidir. Bu bira üreticisinden kaynaklanıyor’S Teorem (Cap Thorem).
Uygulama ile ilgili olarak, ana işlevi farklı otel tedarikçilerinden elde edilen sonuçları bir araya getirmek ve tüketicilere düşük gecikmeli sonuçlar sergilemek olacaktır (uygulamayı kullanan). Uygulamamız, 2 saniye ile 20 saniye arasında değişen farklı uç noktalara ve dolayısıyla farklı gecikme sürelerine sahip birden fazla otel tedarikçisine bağlandığından, ilk sonuçları önce tüketicilere iade etmemiz ve sonunda en iyi sonuçları sunmamızı sağlamak zordur.
Keşif
Ekibimiz, bu gereksinimi yerine getirebileceğimiz çeşitli yolları araştırıyor. AWS, Tasarım Desenleri ve İletişim Desenlerinde kullanabileceğimiz çeşitli hizmetleri düşündük. Programlama tarafında, sonuçları çoklu tedarikçilere eşzamansız çağrılar kullanarak toplarız, böylece kalan sonuçları yavaşça toplarken tüketicilerimize sonuçlar verebiliriz. Takım arkadaşım bu konuda Redis için AWS Elasticache’yi de kullandığımız güzel bir makale yaptı.
Amazon Web Hizmetleri (AWS)
Altyapı tarafında, ekibimiz ölçeklenebilir gereksinimi karşılamak için AWS Elastik Konteyner Servisi (ECS) ve yüksek kullanılabilirlik sağlamak için Amazon CloudFront’u kullanmaya karar verdi. Amazon Cloudfront ayrıca Redis için AWS ElastiCache’de önbelleğe alınan sonuçların üstünde ikinci bir önbellek katmanı olarak hareket ediyor.
Bu bizim genel AWS mimarlık şemamız.
Yukarıdaki diyagramdan, Amazon Cloudfront’un S3 kovasında depolanan statik React JS web uygulamamıza yüksek kullanılabilirlik sağladığı da açıktır. AWS S3 Depolama 99 veri dayanıklılığına sahiptir.999999999% bölgeler etrafında inşa edildiği için S3’te barındırılan statik web sayfası muhtemelen düşmeyecek. Ayrıca, statik web sayfasını içeren S3 kovasında sürümleme etkinleştirildi, belirli bir nesnenin her ve herhangi bir sürümünü korumamıza, almamıza ve geri yüklememize izin veren kazara silme işlemlerini önledi.
Uygulamanın yüksek kullanılabilirliğini ve ölçeklenebilirliğini sağlamak için ECS hizmeti için otomatikleştirme uygulandı. Bu, arka uç hizmetlerinin hataya toleranslı olmasını sağlar ve trafik yükünü uygun şekilde içeri ve dışarı ölçeklendirerek (trafiğe bağlı olarak) işleyebilmesini sağlar.
Uygulama yükü dengeleyici, arka uç hizmetlerindeki sağlık kontrolü uç noktasını kullanarak fargate görevlerinin sağlıklı olup olmadığını algılar. Sağlık kontrolü uç noktasına ulaşılamazsa, görevi sağlıksız olarak görür, hedef gruptan deregister olur, görevi sonlandırır ve onu değiştirmek için yeni bir görev başlatır. ECS hizmetini birden çok kullanılabilirlik bölgesinde konuşlandırdığımız için, bir kullanılabilirlik bölgesi kullanılamazsa, diğer kullanılabilirlik bölgelerinde uygulamanın çalışmasını sağlayacak örnekler olacaktır. Trafiğe bağlı olarak otomatik olarak daha fazla görev başlatılacak. Otomatiklik kullanılarak, mevcut talebi ele almak için yalnızca doğru miktarda kaynak ve kapasite sağlanmasını sağlayarak uzun vadede maliyet tasarrufu sağlanıyoruz.
Sonuçlar
İki farklı uç noktaya işaret eden 500 kullanıcı ve 1 rampa ile uygulamamızı yüklemek için JMeter’i kullandık (Uygulama Yük Dengeleyici ve CloudFront). Sonuçlara bakıldığında, CloudFront’a yapılan isteklerin gecikmede büyük bir azalma ile çok daha iyi olduğunu görebiliriz (gecikmede ~% 80 azalma). Hata oranı şaşırtıcı derecede% 0 idi. Bu, AWS ECS’nin yüksek kullanılabilirliği ve otomatik ölçeklendirme özelliğinden kaynaklanmalıdır.
Götürmek
Bu proje özellikle bize AWS’deki yeni başlayanlar için göz korkutucu olsa da, bu tür şaşırtıcı sonuçları görebilmek kesinlikle ödüllendiriciydi, yani uygulamamız iyi ve övgüye değerdi.
Ascenda sadakatiyle mimarimizde sağlanan bazı geri bildirimler:
“S3 -> Güzel Fikir On Öncesi Barındırma. Görünüşe göre’Gerçek bir spa inşa etmek”
Eğer başardıklarımızla ilgileniyorsanız, başvurumuzun bir demosunu burada görüntüleyebilirsiniz!
Okuduğunuz için teşekkürler: D
Cloudfront’tan artan gecikmeyi nasıl giderir ve azaltabilirim?
Amazon Cloudfront’un yanıtlarında artan gecikme görüyorum. Nedeni nasıl tanımlayabilirim ve gecikmeyi azaltabilirim?
Kısa Açıklama
CloudFront’tan gecikmeyi gidermek için önce aşağıdaki olaylardan hangisinin gecikmeye katkıda bulunduğunu belirleyin:
- İstemci ve Cloudfront Edge konumları arasında gitme istekleri için alınan süre. Bu, alan adı Sistemi (DNS) arama işlemini ve TCP ve SSL/TLS müzakerelerini içerir.
- Cloudfront ve Menşe arasında gitme taleplerinin alınması. Bu, başlangıç DNS arama süreci, TCP ve SSL/TLS müzakerelerini, kökeni ile müzakereleri ve bir nesneyi işlemek ve yanıtlamak için orijin tarafından alınan zamanı içerir.
Ardından, en fazla gecikmeye neden olan olaylar için sorun giderme adımlarını izleyin.
Çözünürlük
CloudFront’tan gecikmeye neden olan olayları belirleyin:
Hangi olayların CloudFront’tan gecikmeye neden olduğunu belirlemek için aşağıdakilerden birini yapın:
- Aşağıdaki Curl komutunu çalıştırın:
curl -w "dns_resolution: %| tcp_negotiation_time: %| ssl_negotiation_time: %| ttfb: %| Toplam zaman: %\ n" -o/deve/null -vsl https: // www.örnek.com
Not: Yer değiştirmek örnek.COMPFront etki alanı adınız veya alternatif etki alanı adınız (CNAME) ve URL yoluyla.
- Bir ağ isteğinin her aşamasının web tarayıcınızın geliştirici araçlarını ne kadar sürdüğünü kontrol edin. Örneğin, Mozilla Firefox kullanıyorsanız, zamanlama sekmesi bu bilgileri sağlar.
Göre geçen süre Her olay veya istek için, bu makaledeki ilgili Çözüm bölümüne bakın.
Geçmişte gecikmeyi gözlemlediyseniz, alanları kontrol edin geçen süre Ve ilk zamana CloudFront erişim günlüklerinde. CloudFront Access Günlükleri DNS Arama İşlemi ve TCP ve SSL/TLS Müzakereleri için istemci tarafından alınan süreyi günlüğe kaydetmeyin
DNS çözünürlüğünde gecikmeyi azaltmak
- İstemci tarafı DNS'de DNS önbellekleme süresini artırın.
- Artırmak Yaşama Zamanı (TTL) Yerel DNS sunucusundaki önbellek.
- Artırmak TTL DNS kayıt şirketinizdeki/sağlayıcınızdaki DNS kaydında.
- Çözücü ise Dns sunucusu İnternet servis sağlayıcınız gecikmeye neden oluyor, ardından genel DNS sunucularını kullanmayı düşünün.
TCP ve SSL/TLS'de gecikmeyi azaltma - Müzakere Süresi
- Yerel ağ bant genişliğinizi ve internet bant genişliğini kontrol edin.
- İnternet sunucu sağlayıcınızda veya yönlendiricinizde herhangi bir ağ kesintisi olup olmadığını kontrol edin.
- İnternet servis sağlayıcınız veya ağ yolları aracılığıyla yerel ağ performansınızı optimize edin.
- Web tarayıcınızın en yakın ve doğru pop konumunu bulmasını sağlayan doğru DNS çözücü kullandığınızı onaylayın.
- HTTPS site performansını artırmak için sertifika zincirinizi kısa tutun.
- Gecikme, bir güvenlik duvarı, proxy veya yerel yönlendiriciden kaynaklanabilir. Bunlardan hangisinin gecikmeye neden olduğunu belirlemek için sisteminizden aşağıdaki MTR komutunu çalıştırın. Daha fazla bilgi için MTR ile ağ sorunlarına bakın.
MTR -RW Örneği.com ---dns
Not: Yer değiştirmek örnek.com Alan adınızla.
İlk bayt (TTFB) ve Alınan Toplam Süre (TTL) için alınan zamanda gecikmeyi azaltma
Cloudfront "X-Cache: Cloudfront'tan Vur" i dönerse
Cloudfront, "X-Cache: Cloudfront'tan Hit" i döndürür En Yakın Kenar Konumundan Talepler Teslim edildiğinde. Gecikmeyi azaltmak için:
- Dosyaları sıkıştırmak ve indirme hızını artırmak için CloudFront otomatik sıkıştırmayı açın.
- CloudFront'a olan istekleri azaltmak için yerel veya tarayıcı önbelleğini kullanın. Web tarayıcılarına web sitesi içeriğini tarayıcının belleğinde veya yerel diskte belirli bir süre tutmaları için talimat vermek için dosyalardaki önbellek kontrol başlığını belirtin. Önbellek başlıkları hakkında daha fazla bilgi için, bkz. Cloudfront önbellek nesnelerini önbelleğe aldığı süreyi belirleme.
Cloudfront "X-Cache: Miss'ten Cloudfront" i dönerse
CloudFront "X-Cache: Miss'ten Cloudfront" i döndürürse, istek kaynağına gönderildiğinde. Gecikmeyi azaltmak için:
- Cloudfront Edge Location arasındaki gidiş -dönüş süresini (RTT) menşe konumunuza azaltın. Bir Cloudfront Edge konumundan bir istek en yakın orijin konumuna giderse, RTT daha az. Bununla birlikte, istek coğrafi olarak menşe olan bir kenar konumundan ise TTFB etkilenir. RTT'yi optimize etmek için, Coğrafi olarak kullanıcılarınıza daha yakın olan birden fazla bölgede Origin Sunucusunu Çoğaltın. Ardından, başlangıç alan adınızın DNS'sini, isteği gecikme veya coğrafi konuma göre orijinal sunuculara yönlendirecek şekilde ayarlayın. Amazon Route 53'ü DNS sağlayıcınız olarak kullanıyorsanız, daha fazla bilgi için bir yönlendirme politikası seçmeye bakın.
- Dosyaları sıkıştırmak ve indirme hızını azaltmak için CloudFront otomatik sıkıştırmayı açın. Dosya formatınız CloudFront otomatik sıkıştırma tarafından desteklenmiyorsa, bu dosyayı menşeinize önceden takın ve sunarak servis edin İçerik kodlayan başlık.
- Menşe gecikme metriğini etkinleştirerek orijinden CloudFront'a gecikmeyi kontrol edin. Not: Standart Cloudwatch oranları geçerlidir.
- Cloudfront Origin Kalkanı'nı aç.
- Sunucu-zamanlama başlığı özelliği açıkken yanıt başlıkları politikaları ekleyin. Bu özellik, CloudFront ile Menşe arasındaki gecikmeye katkıda bulunan olayları anlamanıza yardımcı olabilir.
Cloudfront ile çok bölgeli API'li son kullanıcılar için gecikmeyi azaltın
Kuruluşlar büyüdükçe, genellikle coğrafi olarak dağınık kullanıcılara düşük gecikme ile hizmet etmeli ve bulutta dağıtılmış bir küresel altyapıya sahip olmalarını istemektedirler. Bu makalede, bir uygulamayı artırırken son kullanıcılar için gecikmeyi azaltmak için küresel API uç noktalarının nasıl dağıtılacağını açıklıyoruz’S kullanılabilirliği.
AWS Global Network ve Amazon CloudFront'u birden fazla AWS bölgesine uygulamak için kullanıcılar, kullanıcılarının API isteği için en düşük gecikme olan bölgedeki bir API uç noktasına bağlanmasına izin verebilir’S'nin kökeni, gerçek zamanlı olarak bölgeler arasında otomatik olarak senkronize tutulan verilere erişirken.
GraphQL API geliştiricilerinin çözümünü açıklamak için AWS AppSync'i kullanarak bir mimari sağlıyoruz. Bu mimari, çok bölgeli aktif/aktif senaryoları desteklemek için bir dizi bileşene dayanmaktadır: CloudFront, Amazon Route 53, AWS Sertifika Yöneticisi (ACM) ve AWS Lambda@Edge.
GraphQL için bu makale, aktif/pasif bir appsync global çözümünün aktif/aktif bir çözüm haline nasıl dönüştürüleceğini açıklayarak AWS appsync'in önceki yazı çoklu bölge dağıtımını Amazon Dynamodb Global tablolarıyla tamamlar. Ayrıca, AWS AppSync API'leri için özel alan adlarına bulutfront tabanlı bir alternatif sağlar.
Eğer sen’Yeniden A Rest API geliştiricisi, çok bölgeli aktif aktif mimari için Amazon Cloudfront ile gecikme tabanlı yönlendirme kullanarak gönderiyi takip ederek benzer sonuçlar elde edebilirsiniz. Burdasın’Ayrıca, mimari düşünceler ve bunların uygulamalarınızın işlevselliği, esnekliği ve performansı üzerindeki etkisi yoluyla düşünmenize yardımcı olacak maliyet ve karmaşıklık değişimleri hakkında rehberlik de bulun.
CloudFront ile Çok Bölgeli GraphQL API
Kuruluşların, ön uç geliştiricilere tek bir uç noktaya sahip birden çok veritabanını, mikro hizmetleri ve API'ları sorgulama olanağı vererek uygulamaları daha hızlı sunmak için GraphQL ile API'leri geliştirmeyi giderek daha fazla seçtiklerini görüyoruz.
Aşağıdaki mimari diyagramı (Şekil 1), başvurunuzu artırırken son kullanıcılar için gecikmenin nasıl azaltılacağını açıklamaktadır’S Amazon Dynamodb Global Tabloları tarafından desteklenen aktif/aktif gerçek zamanlı veri senkronizasyonu ile birden fazla bölgede GraphQL API uç noktaları sağlayarak kullanılabilirlik. Bu diyagramın PDF versiyonu bu bağlantıda mevcuttur. Amazon DynamoDB Replication'ın nasıl uygulanacağı hakkında daha fazla bilgi için, AWS AppSync'in Amazon Dynamodb Global Tabloları ile Post Çok Bölge Dağıtımını Okuyun.
Şekil 1: CloudFront ile Çok Bölgeli GraphQL API'si için diyagram
Diyagramda gösterilen mimariyi uygulamak için aşağıdaki adımları izleyin:
- AWS AppSync kullanarak iki veya daha fazla bölgede bir GraphQL API'sını dağıtın ve ardından bir Dynamodb veritabanına bağlı AWS Lambda çözücülerini kullanarak appsync komutlarını ve sorgularını işleyin.
- Müşterileri tüm bölgelerdeki veri değişiklikleri hakkında bilgilendirmek, DynamODB Global Tabloların verileri bölgeler arasında senkronize etmesini sağlamak, ardından DynamODB veri akışlarını bir lambda işleyicisiyle işlemek ve böylece amaca uygun GraphQL abonelikleri ile işlemek. Bunun nasıl yapılacağı hakkında ek bilgi için, Amazon Dynamodb Global Tabloları ile AWS Appsync'in Post Multi Bölge Dağıtımına bakın.
- Özel alan adlarını desteklemek için etki alanını yükleyin’SSL Sertifikası ACM'ye ve bir CloudFront dağılımına ekleyin.
- DNS Adı Çözüm Hizmetiniz olarak Route 53'ü kullanarak alan adınızı CloudFront'a yönlendirin.
- Global Müşterilerinizi AWS bölgesine yönlendirmek için Rota 53'te bir yönlendirme kuralı oluşturun.
- Böylece müşterileriniz herhangi bir bölgedeki AWS AppSync uç noktalarına sorunsuz bir şekilde kimlik doğrulaması yapabilir, en iyi bölgenin talebi iletmesi için Route 53'ü sorgulamak için lambda@Edge'i kullanabilir ve her bir bölgesel appsync'in özelliklerini soyutlayarak yetkilendirmeyi normalleştirebilir.
- Ardından, dünyanın dört bir yanındaki istemciler, GraphQL API'nize kenar konumlarında bulunan tek bir uç noktaya bağlanabilir.
- CloudFront müşterileri sorunsuz bir şekilde yönlendirecek’ Müşteriye en düşük gecikme olan bölgedeki API'ya talepler’S konumu.
CloudFront'u Yapılandırma
Bu makaledeki çok bölgeli aktif/aktif çözüm için CloudFront'u yapılandırmanın adımları şunlardır:
- Basit bir jenerik CloudFront dağılımı oluşturarak başlayın (burada nasıl).
- Dağıtımın kökeni değil’T çözümümüzün son durumu için alakalı çünkü bunun yerine API uç noktaları ile değiştirilecek. Ancak, Lambda@Edge işlevinin çağrılması için çözülebilir olmalıdır. Örneğin, AWS kullanabilirsiniz.Amazon.Kenarlığınız gibi com.
- Basitlik için, bu yazıda açıklanan çözüm, Global-API ile başlayan güvenli bir özel URL uygular . Örneğin, özel alan adınız örnekse.com, o zaman aktif/aktif API https: // global-api adresinde bulunabilir.örnek.com . Desteklemek için alternatif alan adınızı ekleyin (e.G., Global-API.örnek.com) CloudFront dağılımınıza (burada nasıl) bakın.
CloudFront dağılımınızda, davranışı düzenleyin ve aşağıdaki özellik değerlerini ayarlayın:
- Değiştirmek “İzin verilen HTTP yöntemleri” ile “ Al, kafa, seçenekler, koyma, posta, yama, sil ” - Bu, GraphQL sorgularını işlemek için gerekli yayın isteklerini etkinleştirir.
- Değiştirmek “Önbellek politikası” ile “ Önbelleğe alınmış ” - Bu, tüm isteklerin dinamik olduğundan emin olmak için herhangi bir önbelleği kaldıracaktır.
- Değiştirmek “Menşe İstek Politikası” ile “ AllViewer ” - Bu, Lambda@Edge işlevine gönderilen yüke gerekli bilgileri ekleyecektir.
ACM'yi Yapılandırma
Bu makalede açıklanan çözümü uygulamak için, özel alan adınıza genel bir sertifika istemek için ACM kullanın (burada nasıl). Bu çözüm alt alanlar kullanır, bu nedenle joker karakterleri destekleyen bir sertifika talep etmelisiniz. Örneğin, alan adınız ise “örnek.com”, Ardından her ikisini de işlemek için bir sertifika isteyin “örnek.com” Ve “*.örnek.com”.
Sertifikanız ACM'de kullanılabilir ve valide edildikten sonra, CloudFront dağılımınıza ekleyin (nasıl buraya bakın).
Amazon Route53'ü Yapılandırma
Bu makalede açıklanan çözümü uygulamak için, alan adınız için Rota 53 barındırılan bölgede aşağıdaki kayıtları oluşturun:
- CloudFront dağılımınıza bir giriş noktası olarak hizmet etmek için basit bir CNAME kaydı (burada nasıl).
- Çoklu bölgesel API'lerinizi yapılandırmak için gecikme tabanlı bir yönlendirme politikası olan bir kayıt (burada nasıl). Bu, en düşük gecikmeyi sağlayan AWS bölgesinden taleplerini sunarak kullanıcılarınız için performansı artırır.
- Her bölge için özel bir etki alanı (Lambda işlevinizde aynı özel etki alanını kullanın).
Örneğin, alan adınız ise “ örnek.com ”, CloudFront dağılımınız “ Abcdefghij.cloudfront.açık ”, Ve Avrupa (İrlanda) ve Asya Pasifik (Sydney) bölgelerinde API'leriniz var, o zaman Şekil 2'ye benzer bir Route 53 konfigürasyonu ile sonuçlanmalısınız.
Şekil 2: Route 53'teki kayıtlar tablosu
Rota 53'ü yapılandırırken aşağıdaki ortak hatalara dikkat edin:
- “İrlanda” Ve “Sydney” Yukarıdaki örnekte değerleri kaydedin AREN’T Bölgesel API uç noktalarının URL'leri. Bunun yerine, bunlar Lambda@Edge kodunda tanımlanan sözlüğün anahtarlarıdır.
- Yukarıdaki örnekteki gecikme kaydı adları’T bölgeye özgü. Bunun yerine, onlar’Lambda@Edge'in önerilen bölge için Rota 53'ü sorgulamakla iletişime geçeceği ortak kayıt adları’s anahtar.
Bu Route 53 yapılandırmasının çözüm bağlamında nasıl kullanıldığına dair ek ayrıntılar için, bu makalenin test bölümündeki adımları yürütün. Bunlar, boş bir AWS hesabından başlamanıza ve bir VUE ile test edebileceğiniz tamamen işlevsel çok bölgeli bir ortama giden yolu oluşturmanıza izin verir.JS uygulaması.
Lambda@Edge için kod
Bu makalede çözümü uygulamak için, düğümde bir lambda@Edge işlevi oluşturun.JS Bu bölümdeki kod parçacıklarını bir şablon olarak kullanıyor (burada nasıl).
İşlevinizi CloudFront'a dağıtmanın birçok yolu vardır. Basit bir yol, “ Hareketler ” Lambda düzenleyicisine açılır, ardından seçin “ Lambda@Edge'e konuş ”.
Aşağıdaki kod, gelen bir istek için en iyi AWS bölgesini bulmanızı sağlar. Rota 53'ünüzde zaten bir yönlendirme politikası oluşturduğunuzu varsayar “ gecikme ”. Yukarıdaki Route 53 tablosundaki örnek göz önüne alındığında, bu işlevden gelen olası sonuçlar, “İrlanda” Ve “Sydney”.
const dns = requir ('dns'); Bestorigin'e izin verin; Bırakın sona erer = 0; ttl = 1 olsun; dns_host = 'gecikme routing.örnek.com '; Fonksiyon GetBestigion () < console.log("inside resolver"); const now = Date.now(); if (now < expires) return Promise.resolve(bestOrigin); return new Promise((resolve, reject) => < dns.resolveCname(DNS_HOST, (err, addr) =>< bestOrigin = addr[0]; expires = now + TTL; resolve(bestOrigin); >); >); >
Aşağıdaki kod, en iyi AWS bölgesini (Route 53 tarafından değerlendirildiği gibi) yayınlanmış bir API ile eşlemenizi sağlar. Bu kod, yukarıdaki tablodaki Örnek Route 53 ayarlarını, iki GraphQL API girişiyle (biri İrlanda ve diğeri Sydney için) dikkate alır. Bu kodu, bölgesel API uç noktalarınızın ayarlarıyla eşleşecek şekilde değiştirmelisiniz.
Let bölgeleri = []; // küçük harf kullanın. Bölgeler ['İrlanda'] = < "Host": "" >; Bölgeler ['Sydney'] = < "Host": "" >; Function GetregionalSettings (BestRegion)
Aşağıdaki kod, en iyi AWS bölgesini (Route 53'e göre) bulmak için GetBeTregion işlevini kullanır, ardından GetregionalSettings işlevini kullanarak bir API alanına ve sırrıyla eşler ve son olarak, isteği seçilen API'ye iletme isteği başlıklarını değiştirir.
ihracat.İşleyici = Async (olay, bağlam, geri arama) => < const request = event.Records[0].cf.request; let bestRegion = await getBestRegion(); let map = getRegionalSettings(bestRegion); let target_domain = map["Host"]; // Forward GraphQL subscription requests for WebSockets. request.origin.custom.domainName = target_domain; // Forward REST and GraphQL query/mutation requests. request.headers["host"] = [< key: "host", value: target_domain >]; // konsol.log (`` "$" `` ``) geri çağrısı (null, istek) olarak ayarlanmış istek başlıkları; >;
Uçtan uca akış
Aşağıdaki diyagram (Şekil 3), çözüm arasındaki uçtan uca iletişim akışını göstermektedir’S Bileşenleri.
Bir istemciden gelen bir talebin ilk önce Route 53 (veya başka bir DNS sunucusu) tarafından nasıl çevrildiğini görsel olarak açıklar ve daha sonra DNS'ye kaydedilen CloudFront Dağıtımına gönderilir. CloudFront daha sonra isteği doğrular’S Sertifikası ACM'yi kullanarak ve ardından Lambda@Edge'den kaldırarak orijini müşteriye en düşük gecikme ile API uç noktasına değiştirir. Son olarak, istek en iyi bölgesel API uç noktasına ve API’S yanıtı Cloudfront tarafından müşteriye geri gönderildi.
Şekil 3: Mesaj akışı diyagramı
Çok bölgeli aktif/aktif çözümünüzü test etmek
Bu makalede açıklanan testte,’Önceki Route 53 örnek konfigürasyonunda kullanılan aynı İrlanda ve Sydney bölgelerini kullanın. Test adımları,’Bu makalede belirtilen önceki adımları zaten gerçekleştirdi’Çok bölgeli çözüm oluşturmak için önceki bölümler.
Hangi bölgeyi kontrol etmek için’test ederken tekrar vurma, sen’bir VPN proxy istemcisine veya benzer bir şeye ihtiyacım var. Bu makaledeki test adımları, İsveç'te bulunan açık kaynaklı bir ticari VPN hizmeti olan Mullvad kullanılarak yapıldı.
Çok bölgeli aktif/aktif GraphQL API'nızı test etmek
GraphQL API uç noktalarına çok bölgeli bir çözümün testlerini hazırlamak için bu adımları izleyin.
Bu bölüm, appsync ile daha önce hiç deneyiminiz olmasa bile, sıfırdan bir AppSync test ortamı oluşturmanızı sağlar. Sen’Önümüzdeki iki bölümdeki GraphQL sorgularını ve aboneliklerini test etmek için bu ortamı bir ön koşul olarak kullanın.
- İrlanda ve Sydney bölgesinde örnek bir GraphQL API'sını başlatın. Bu, bölgesel bir DynamoDB veritabanı tarafından desteklenen bir örnek şema ile tamamen işlevli bir AppSync API uç noktasını dağıtacaktır.
- Testler tarafından hangi bölgenin vurulduğuna dair herhangi bir şüpheyi ortadan kaldırmak için Don’t DynamoDB Global Tabloları Etkinleştir-Aksi takdirde, gerçek zamanlı bölge çapraz verileri ve abonelik çoğaltma etkinliğini etkinleştirmek istiyorsanız Amazon DynamoDB Global tabloları ile AWS Appsync'in Post Multi bölgesi dağıtımını takip edin. Bu makaledeki testler,’T etkin çoğaltma.
- İrlanda-Appsync kullanın.örnek.Com, örneğin, İrlanda olarak’s Özel alan adı;
- Sydney-Appsync kullanın.örnek.Com, örneğin, Sydney olarak’s Özel alan adı;
- API'yi özel alan adıyla ilişkilendirdiğinizden emin olun.
Bölgeler ['İrlanda'] = < "Host": ".cloudfront.net" >; Bölgeler ['Sydney'] = < "Host": ".cloudfront.net" >;
- Test amacıyla, aşağıdaki düğümü kullanarak GraphQL API'leriniz için basit bir Lambda yetkili işlevi oluşturun.JS Örnek Kodu ve her iki bölgeye dağıtın. Bu işlev dizeyi kabul edecek “ özel olarak yetkilendirilmiş ” Tek geçerli yetkilendirme jetonu olarak. Sabit kodlanmış kimlik doğrulama jetonlarının aren’T iyi bir uygulama ve biz’Sadece burada test basitliği için kullanıyor. Bunun yerine, jetonlarınızı AWS Secrets Manager'da saklamayı düşünün.
ihracat.İşleyici = async (olay) => < const < authorizationToken >= olay dönüşü < isAuthorized: authorizationToken === 'custom-authorized', resolverContext: <>>; >;
- Lambda Yetkili İşlevini Bölgesel AppSync API uç noktalarınız için varsayılan yetkili olarak ayarlayın (burada nasıl görünün) ve AppSync yapılandırmasından API anahtarlarını kaldırın. Bu, Testi gerçekleştirirken API'yı basit bir jetonla halka açık hale getirerek testlerin yürütülmesini kolaylaştıracaktır. Ancak, tam olarak istediğiniz bu olmadıkça, AppSync API'lerinizi güvence altına almak için mevcut tüm seçeneklere bakmanızı tavsiye ettik.
- Örnek bir kayıt eklemek için İrlanda bölgesinde bir mutasyon oluşturun (daha fazla bilgi için bu sayfaya bakın):
- İrlanda'ya gidin’S AWS Appsync Konsolu.
- İrlanda'ya gidin’Önceki bir adımda oluşturduğunuz s appsync API.
- Sol taraftaki Sorgular sekmesini seçin.
- Yetkilendirme jeton alanında, özel olarak yazılmış yazın (Lambda yetkili olarak olduğu gibi).
- Aşağıdaki mutasyon komutunu çalıştırın:
mutasyon yaratıcısı < createEvent( name: "Ireland" when: "" where: "" description: "" ) < id name >>
Sizi varsayarak’Global-API'nizi zaten kurdu.örnek.bu gönderiden gelen adımları kullanarak com yeniden yönlendirme, o zaman’oturmak! Sen’Çok bölgeli appsyn son noktanızı test etmeye hazır.
Çok bölgeli aktif/aktif GraphQL sorgularınızı test etmek
Sizi varsayarak’Önceki bölümde açıklandığı gibi sıfırdan çok bölgeli bir appsync test ortamı oluşturmak için gerekli adımları zaten izledi, GraphQL sorguları ile çok bölgeli çözümü test etmek için bu adımları izleyin.
- VPN istemcinizde, İrlanda'ya yakın bir VPN sunucusuna bağlantı kurun (e.G., Londra, Birleşik Krallık).
- API'yi, örnek verileri göstermek, alan adını kendinizle değiştirmek ve Lambda yetkilendiricisi tarafından izin verilen yetkilendirme jetonunu aktarmak için aşağıdakilere benzer bir curl komutuyla sorgulayın.
$ curl -xpost -h "Yetkilendirme: Özel Bildirilmiş" -d " < "query": "query < listEvents < items < name >>> "> 'https: // global-api.örnek.com/grafql/ - Kıvırcık tepkisinin
< "data": < "listEvents": < "items": [ < "name": "Ireland" >] >>> - VPN istemcinizde, Sydney'e yakın bir VPN sunucusuna bağlantı kurun (e.G., Melbourne, Avustralya).
- Curl komutunu tekrar çalıştırın - yanıt şimdi olmalı
< "data": < "listEvents": < "items": [ < "name": "Sydney" >] >>>
Gördüğünüz gibi, Curl komutunu dünyanın farklı yerlerinden çalıştırmak, farklı bir Appsync uç noktasının yanıt vermesine neden olur, ancak’Aynı çok bölgeli grafik ucu uç noktasına çarpmak.
Çok bölgeli aktif/aktif GraphQL aboneliklerinizi test etmek
GraphQL aboneliklerini test etmek için, WebSockets'i kullanarak bunları test etmek için bu adımları izleyin.
Bu bölüm aynı zamanda’Önceki bölümde açıklandığı gibi, çok bölgeli bir appsync test ortamı inşa etmek için gerekli adımları zaten izledi.
Aşağıdaki test yaklaşımı, Post, Get ve WebSockets kullanarak API'lerle etkileşime girmenizi sağlayan bir uygulama olan Postman'ı kullanır. Aşağıdaki testte kullanılan adımların sırası, AWS Appsync için gerçek zamanlı bir WebSocket istemcisi oluşturmanın talimatlarına dayanmaktadır.
- WebSocket bağlantısını açarken gönderilecek bir el sıkışma yükü oluşturun. Komut satırı aracınızda, aşağıdaki komutu çalıştırın, etki alanı adını kendinizle değiştirin ve Lambda Yetkili'de tanımlanan jetonu kullanarak. Sonuç, baz64 şifreli bir dize olmalıdır-bu dizeyi bir not defterine kaydedin çünkü’Postman için daha sonra ihtiyacım var’S konfigürasyonu.
$ echo '' | Base64 - Postman'da, bu sayfadaki talimatları izleyerek yeni bir WebSocket bağlantısı oluşturun. Yeni düğmeyi seçerek ve ardından WebSocket istek düğmesini seçerek yapabilmelisiniz.
- Sunucu URL kutusuna, alan adınızı değiştirdiğinizden emin olarak aşağıdaki URL'yi yazın:
WSS: // Global-Api.örnek.com/grafql/gerçek zamanlı - Params bölümüne aşağıdaki parametreleri ekleyin:
- Anahtar: Yük, değer: E30 = (Bu boşlukla aynıdır <>)
- Anahtar: Başlık, Değer: (İlk Adımda Oluşturduğunuz Base64 String)
- Anahtar: Sec-Websocket-Protocol, Değer: Graphql-Ws
- Postacı arayarak bağlantının kurulduğunu doğrulayın’Mesajlar bölümünde bağlı yeşil etiket ve WSS'ye bağlı olanı arayarak: //. Aynı bölümdeki mesaj.
< "id":"test", "payload": < "data": "", "extensions": < "authorization": < "Authorization":"", "host": "", > >>, "type": "start">
abonelik < subscribeToEventComments(eventId: "Ireland") < content >>
- Aboneliğin Postman'da Start_ack yanıt mesajını arayarak başarıyla oluşturulduğunu doğrulayın’S Mesajlar Bölümü. Yukarıdaki abonelik mesajı için yanıt .
mutasyon < commentOnEvent( content: "test-comment", createdAt: "2000-01-01", eventId: "Ireland" ) < commentId eventId createdAt content >>
Gördüğünüz gibi, bir bölgede gerçekleştirilen mutasyonlar (e.G., İrlanda) o bölgeye bağlı abonelikleri tetiklemek. Tek bir bölgesel mutasyon için tüm bölgelerdeki istemci aboneliklerini tetiklemek için (e.G., İrlanda ve Sydney), mutasyon yayılımı ile bölge çapraz replikasyonu kurmalısınız. Bunu nasıl yapacağınızı öğrenmek için Amazon Dynamodb Global Tablos ile AWS Appsync'in Post Multi Bölge Dağıtımını takip edin.
Çok bölgeli GraphQL API'nızı test etmek için bir amplifikat uygulaması oluşturma
Şimdi sen’Çok bölgeli aktif/aktif GraphQL API'nizin hem sorgular hem de abonelikler için çalıştığından emin olun, API için bir test istemcisi oluşturmak için AWS amplifikansından yararlanabilirsiniz.
Bu makalede Vue kullanıyoruz.Basit bir istemci uygulaması oluşturmak için amplify javascript ile JS, ancak kütüphaneler de iOS, Android ve Flutter istemcilerini destekleyerek bu farklı koşu saatlerinde aynı özellikleri sağlar. Desteklenen Amplify istemcileri, AppSync GraphQL API ile etkileşim kurmak için basit soyutlamalar sağlar, APPSYNC WebSocket gerçek zamanlı protokolle tam olarak uyumlu yerleşik websocket özellikleri de dahil olmak üzere, birkaç kod satırına sahiptir.
Test uygulamanızı oluşturmak için bu adım dizisini izleyin.
- Düğümünüz olduğundan emin olun.JS yüklü - Bir sonraki adım için ihtiyacınız var.
- Bir Vue Oluştur.JS bu adımları çalıştırarak İrlanda bölgesinde uygulama uygulaması.
- Uygulamanızı İrlanda'ya bağlayın’S API.
- Uygulamanızı İrlanda'ya bağlamak için aşağıdaki komutu çalıştırın’S Appsync uç nokta, şunları değiştirerek:
Amplify CodeGen --Apiid Ekle -Profile - Sorgular ve abonelikler için ilişkili kodu oluşturmak için aşağıdaki komutu çalıştırın:
Codegen'i güçlendir
- NPM çalıştırın komut satırı aracınızda servis yapın.
- Aran'ın var olduğunu doğrulayın’t Herhangi bir hata.
- Http: // localhost: 8080/ - varsayılan Vue'yu görmelisiniz.JS uygulaması.
ListEvents (filtre: $ filtre, sınır: $ limit, nextToken: $ nextToken) < items < id name where when description comments < items < content commentId >>> NextToken>
Olaylar
Etkinlik: < , name=">"">
>>>
- NPM çalıştırın komut satırı aracınızda servis yapın.
- Aran'ın var olduğunu doğrulayın’t Herhangi bir hata.
- Http: // localhost: 8080/ - şimdi, dünyanın neresinde olduğunuza bakılmaksızın, testlerinizde daha önce oluşturulan İrlanda etkinliğini listelemelisiniz’Başvuruyu yeniden çalıştır. Çünkü sen’doğrudan İrlanda ile bağlantılı’S bölgesel uç noktası.
- Bir sonraki adımın önünde İrlanda Etkinliğini Kopyala’bir not defterine kimlik (bu rastgele 36 karakter-lenght uuid).
mutasyon < commentOnEvent( content: "test-comment", createdAt: "2000-01-01", eventId: "" ) < commentId eventId createdAt content >>
- SRC/AWS-ihracatlarını değiştirin.JS Dosyası, İrlanda'dan AWS_APPSYNC_GRAPHQLENDPOINT parametresinin değerini değiştirme’Slown Giriş Noktanız için API Son Noktası (E.G., https: // global-api.örnek.com/grafql).
- Uygulama, dünyanın neresinde olduğunuza bağlı olarak İrlanda öğesini veya Sydney öğesini listeleyen otomatik olarak yenilenmelidir.
Amplify uygulamanızı çok bölgeli GraphQL API'nize göre test etmek
Çok bölgeli GraphQL API uç noktanızı bir amplifikasyon uygulamasıyla test etmek için bu adımları izleyin.
- VPN istemcinizde, Sydney'e yakın bir VPN sunucusuna bağlantı kurun (e.G., Melbourne, Avustralya).
- Bir web tarayıcısındaki amplify uygulamanıza gidin (e.G., http: // localhost: 8080). Şimdi testlerinizde daha önce oluşturulan Sydney etkinliğini görmelisiniz.
- Sydney etkinliğine İrlanda için yaptığınız gibi bir yorum eklemek için bir mutasyon komutu çalıştırın.
- Yeni yorumun uygulamanızda otomatik olarak göründüğünü doğrulayın, Sydney etkinliğinin hemen altında.
Gördüğünüz gibi, uygulamanız tek bir Global API son noktasına bağlanırken, hem sorgular hem de abonelikler için en yakın Appsync API uç noktasına sorunsuz bir şekilde vurur.
Temizlemek
Oluşturulan altyapıyı temizlemek için AppSync API'lerini, CloudFront dağılımını, Lambda@Edge işlevini ve bu test için oluşturduğunuz Route53 kayıtları silin.
Çözüm
Bu yazıda, bir uygulamayı artırırken son kullanıcılar için gecikmenin nasıl azaltılacağını açıkladık’Birden fazla AWS bölgesinde API uç noktaları sağlayarak kullanılabilirlik.
Çözüm, küresel API'nızı desteklemek için CloudFront, Route 53 ve ACM'den yararlanır’s Özel Alan Adı ve Gelen istekleri en iyi API uç noktasına yönlendirmek için lambda@Edge kullanır.
GraphQL API geliştiricilerinin çözümünü açıklamak için, Referans Mimarisinin PDF olarak indirebileceğiniz derinlemesine bir yol izlemesi sağladık. Eğer sen’Yeniden A Rest API geliştiricisi, çok bölgeli aktif aktif mimari için Amazon Cloudfront ile gecikme tabanlı yönlendirme kullanarak gönderiyi takip ederek benzer sonuçlar elde edebilirsiniz.
Testleri basit tutmak için yapmadık’T Bölgeler arası veri çoğaltmasını etkinleştirin. Eğer sen’D Bölgeler arası veriler ve abonelik çoğaltmalarıyla çok bölgeli bir aktif/aktif grafik ucu uç noktası oluşturmak ister, daha sonra AWS Appsync'in AWS Appsync'in Post Multi bölgesi dağıtımıyla birlikte bu makaleden öğrendiklerinizi birleştirmeyi Amazon DynamoDB Global Tablolar.
Aaron Sempf
Aaron Sempf, Global Sistem Entegratörleri ekibinde Global Baş Ortak Çözümler Mimarıdır. AWS GSI Partners ile çalışmadığında, otonom robotlar, IoT cihazları ve dağıtılmış çözümler için kodlama prototipleri bulunabilir.
Fernando Ibanez
Fernando Ibanez, Yükseköğretim Ekibinde Kuzey Carolina merkezli bir çözüm mimarı. Fernando, müşterilerin bulut kullanımlarını daha basit hale getirmek için otomasyon çözümleri tasarlamasına ve uygulamasına yardımcı olur. Boş zamanlarında, Fernando tiyatroya gitmekten, yeni mutfakları denemekten ve ailesiyle vakit geçirmekten hoşlanıyor.
Jorge Fonseca
Jorge, 2 Master Derece ve Tüm AWS Sertifikaları tutan 20 yılı aşkın bir süredir Solutions Mimarı. AWS'de, hem teknik hem de iş kitleleri için karmaşık zorlukları eyleme geçirilebilir yol haritalarına dönüştürerek müşterilere bulut yolculuklarında yardımcı olur.
Ralph Richards
Ralph, Londra merkezli Amazon Web Services'te Solutions Mimarı. Enterprise Software & SaaS müşterileriyle bulutta iş hedeflerine ulaşmalarına yardımcı olan teknik danışman olarak çalışıyor. Ayrıca, bir mikro hizmet yaklaşımı kullanarak modern uygulamalar oluşturmaya büyük ilgi duyan konteyner teknolojileri konusunda uzmanlaşmıştır. İş dışında fotoğrafçılıktan, yol gezilerinde yeni yerleri okumaktan ve keşfetmekten hoşlanıyor.
Доставляйте контент ы ы зстро, низой задержй и Высокой скоростю передачи
Amazon CloudFront – это сервис сети доставки контента (CDN), созданный для высокой производительности, безопасности и удобства разработчиков.
Прзования
Предоставляйе быстрые безозопасные Веб-сaporыы
Охватывайте зрителей по всему миру в течение миллисекунд благодаря встроенному сжатию данных, возможностям периферийных вычислений и шифрованию на уровне поля.
Uсоряйте доставку динамич Neden
Ооеставкinal очеставку динамиаеставку динамического ¢ с-кнаецеского юююаена с пгююююйййн aslında могйюннйнннн aslında мойннннннннннннннн aslında монйнннннн aslında монн aslında монн aslında мннн aslında мннн aslında мннн aslında ррастрetim у aws, которая подерживает периферийное завершение и websockets.
Потоковая передача видео В режиме реальapor
Оерайlin поеюю пе µо µо µо µо µо µо iri iri iri iri, х х д п ücй х о о п quach у у утрйство благодаря AWS Medya Servisi.
Расротраняйте иссравения и обновления
Автоматически масштабируйтесь для быстрой доставки обновлений программного обеспечения, исправлений игр и IoT по беспроводной сети (OTA).
Клиенты
Как начать работу
Uзнайте о lim ринципах работы Amazon Cloudfront
Пчитайте р ut рз и и н нзззе работы и знайе, ч cloudfront может селать для Вас вас.
Начать работurt с пеского чебного пособия
Узнайте, как с помощью Amazon CloudFront наладить доставку контента и ускорить работу интернет-приложений для конечных пользователей.
Пробetim
Начните разработку на aws Uже с сей пнной иetim бесдатной иодщей передач doğum.
Подробне о aws
Подробне о aws
- Ч т тке aws?
- Чо тае оычные Вычисления?
- Инклюзиücü
- Ч т luVe DevOps?
- Ч такое коaca?
- Ч теро данных?
- Xзасность облака aws
- Новые Воззжности
- Боги
- Прес --ллизы
Ресetim
- Начало работы
- Очени doğum
- Бaltı
- Ц yat
- • Вопросы и оветы п п поу ut и и тническим темам ‘
- Аналические очеты
- Партнеры aws
Разотчики на aws
- Центр разработчика
- Пакеты sdk и инстрetim
- .Net н aws
- Python на aws
- Java на aws
- Php на aws
- JavaScript н aws
Пдержка
- Ситесь н нами
- Пол fik
- Обратиться В с u
- Центр знаний
- AWS Re: Gönderi
- Озз AWS Desteği
- Юридеская информация
- Работа В aws
Amazon.com - работодате toplum. Ы ы роставлляем равные права пеншинств, жожнак, лицам с п п п п п п п п п п п п п п п п п п п п п п п п п п, ж п п, ж п п п п ж р м м м, icab ендерных гр ut юю сексуальной ориентаци независим çar.
- Книденциальность
- |
- Уловия полззования сайтом
- |
- Параметры файлов kurabiye
- |
- © 2023 г. Amazon Web Services, Inc. и е дочерние предриятия. Все пащены.
•. Рекомендем Выолнить перейи на другой современный бер длuver более Çin.
Прекращение подержи Internet Explorer
Подержа aws для internet explorer заканчивается 07/31/2022. Пдерживаемые безеры: Chrome, Firefox, Edge и Safari. Подробнее »
- Uygulamanızı İrlanda'ya bağlamak için aşağıdaki komutu çalıştırın’S Appsync uç nokta, şunları değiştirerek: