Amazon EventBridge: Olay Tabanlı Mimarinin Kılavuzu
Bu kılavuz, pratik örnekler, kurulum adımları ve en iyi uygulamalarla Amazon EventBridge kullanarak ölçeklenebilir, olay tabanlı uygulamalar oluşturmanıza yardımcı olur.
Amazon EventBridge, geliştiricilerin operasyonel yükü en aza indirerek olay tabanlı mimariler kurmasına olanak tanıyan güçlü, sunucusuz bir olay veri yolu hizmetidir.
Bulut-yerel sistemlerle çalışırken, gerçek zamanlı yanıt verebilmenin ve servislerin gevşek şekilde bağlanmasının ölçeklenebilir ve sürdürülebilir uygulamalar inşa etmek için ne kadar kritik olduğunu gördüm; EventBridge tam olarak bunu sunuyor.
Amazon EventBridge Nedir?
Yapılandırmaya geçmeden önce, EventBridge’in ne olduğunu, neden önemli olduğunu ve AWS’nin daha geniş olay tabanlı araç ekosistemine nasıl uyduğunu anlamak önemlidir.
Amazon EventBridge’e Genel Bakış
Amazon EventBridgetamamen yönetilen, sunucusuz bir olay veri yolu hizmetidir ve uygulamaların olaylar aracılığıyla neredeyse gerçek zamanlı iletişim kurmasına olanak tanır.
Bu hizmet, olay üreticileri (S3, DynamoDB veya özel uygulamalar gibi değişiklik kaynakları) ile olay tüketicileri (Lambda, Step Functions veya SNS gibi bu değişikliklere tepki veren servisler) arasında yönlendirme görevini basitleştirir.
Amazon EventBridge’in olayları üreticilerden birden çok hedefe yönlendirdiğini gösteren görsel bir diyagram. Kaynak: AWS Blogs
EventBridge, ölçeklenebilirlik ve esneklik düşünülerek tasarlanmıştır.
Saniyede milyonlarca olayı işlemek üzere otomatik olarak ölçeklenir ve JSON tabanlı kurallarla karmaşık yönlendirme mantıklarına izin verir.
Bazı temel yetenekler şunlardır:
90’dan fazla AWS hizmetiyle yerel entegrasyon (örn. EC2, CodePipeline, CloudTrail)
Zendesk, Shopify ve Datadog gibi harici SaaS olay kaynakları için destek
Olay yapılarını otomatik olarak algılayan ve belgeleyen yerleşik şema keşfi ve kayıt defteri
Hata ayıklama, denetim veya geçmiş olayların yeniden işlenmesini desteklemek için olay arşivleme ve yeniden yürütme
Bu özellikler, EventBridge’i gevşek bağlı, dayanıklı bulut mimarileri kurmak için temel bir araç haline getirir.
EventBridge ve olay tabanlı mimari
EventBridge, olay tabanlı mimari (EDA) modeline dayanır.
EDA’de servisler, birbirlerine senkron çağrılar yapmak yerine olaylar yayıp bu olaylara tepki vererek iletişim kurar.
Örneğin, bir servisin başka bir servisin API’sini bir görevi başlatmak için çağırması yerine, sadece "ImageUploaded" gibi bir olay yayması yeterlidir; bu olayı dinleyen diğer servisler de buna göre tepki verir.
Aşağıdaki görsel, Amazon API Gateway’in merkezi EventBridge olay veri yoluna güvenli bir giriş noktası olarak hizmet verdiği bu kurulumu göstermektedir.
Amazon API Gateway’in, çekirdek EventBridge veri yoluna güvenli bir giriş noktası olduğunu gösteren görsel. Kaynak: AWS Blogs
Olay tabanlı mimarinin faydaları:
Olay tabanlı mimarinin faydalarını gösteren görsel.
Gevşek bağlanırlık: Servisler bağımsızdır ve birbirlerinin varlığından habersizdir.
Ölçeklenebilirlik: Sistemler, bireysel bileşenleri bağımsız olarak ölçekleyebilir.
Hata toleransı: Sistemin bir bölümündeki hatalar diğerlerine yayılmaz.
Asenkron işleme: Yanıt verebilirliği ve sistem performansını artırır.
EventBridge, AWS üzerinde EDA’nın omurgası olarak hizmet verir; mikro servisleri, bulut kaynaklarını ve hatta üçüncü taraf sistemleri sıkı bağlamadan birbirine bağlamanızı sağlar.
> AWS’nin olay odaklı ekosistemi hakkında sağlam bir anlayış oluşturmak istiyorsanız, AWS Cloud Technology and Services kursunu inceleyin.
EventBridge’in diğer olay tabanlı seçeneklerden farkı
AWS, olay ve mesaj işleme için çeşitli araçlar sunar; ancak EventBridge, SNS ve SQS gibi alternatiflerden ayrışmasını sağlayan benzersiz özellikler sunar.
SNS (Simple Notification Service)
SNS, basit yayınla/abone ol (pub/sub) mesajlaşma için idealdir.
Bir başlığa mesaj yayınlayabilir ve bunun e-posta, SMS veya Lambda gibi birden çok aboneye teslim edilmesini sağlayabilirsiniz.
Ancak, gelişmiş yönlendirme ve olay filtreleme yeteneklerinden yoksundur.
SQS (Simple Queue Service)
SQS, mesaj depolama ve işleme için güvenilir ve ölçeklenebilir bir kuyruk sağlar.
Tüketiciler mesajları almak için kuyruğu yoklar; bu, asenkron ve gevşek bağlı sistemler için kullanışlıdır ancak gerçek zamanlı, itmeye dayalı yönlendirmeyi desteklemez.
EventBridge
EventBridge, gerçek zamanlı yönlendirme, zengin filtreleme, şema doğrulama ve SaaS entegrasyonu ile her ikisinin en iyi yanlarını birleştirir.
Esnek kurallara, birden çok hedefe ve servisler arası sorunsuz entegrasyona ihtiyaç duyan karmaşık, büyük ölçekli olay tabanlı sistemler için tasarlanmıştır.
CloudWatch Events
CloudWatch Events, EventBridge’in öncülüdür.
EventBridge, aşağıdakileri ekleyen yeni nesil bir yedeklemedir:
SaaS iş ortağı entegrasyonu
Özel olay veri yolları
Şema keşfi ve kayıt defteri
Geliştirilmiş kural ve izin yönetimi
Hâlâ CloudWatch Events kullanıyorsanız, daha zengin yetenekler için EventBridge’e geçmeyi düşünün.
İşte tartışılan farklı hizmetlerin hızlı bir karşılaştırması:
Özellik
SNS
SQS
EventBridge
Teslimat Modeli
İtme (yayınla/abone ol)
Yoklama (kuyruk)
İtme (kural tabanlı yönlendirme ile)
Olay Filtreleme
Temel (mesaj öznitelikleri)
Yok
Gelişmiş (JSON desen eşleştirme)
Yelpaze Dağıtımı (Fan-out) Desteği
Evet
Hayır
Evet
Şema Desteği
Hayır
Hayır
Evet (şema kayıt defteri)
SaaS ile Entegrasyon
Sınırlı
Sınırlı
Evet (yerel SaaS entegrasyonları)
Olay Yeniden Yürütme
Hayır
Saklama ile
Evet
Ölü Mektup Kuyruğu (DLQ)
Evet
Evet
Evet
Amazon EventBridge’in Çekirdek Bileşenleri ve Temel Özellikleri
Amazon EventBridge’i etkili şekilde kullanmak için temel yapı taşlarını anlamak esastır.
Bu bileşenler, altyapı yükünü en aza indirerek dinamik, olay tabanlı iş akışlarını etkinleştirmek için birlikte çalışır.
Aşağıda her bir bileşenin ayrıntılı bir dökümü, ne yaptığı ve nasıl kullanılacağı yer almaktadır.
Olay veri yolları
EventBridge’in kalbinde, tüm olayların aktığı kanal görevi gören olay veri yolu bulunur.
Bir olay veri yolu, AWS hizmetlerinden, özel uygulamalardan veya SaaS sağlayıcılardan olayları alır ve eşleşen kurallara göre uygun hedeflere yönlendirir.
Aşağıdaki görsel, AWS Konsolu’ndaki EventBridge Buses bölümünü göstermektedir.
AWS Konsolu’nda EventBridge Buses bölümünü gösteren ekran görüntüsünü içeren görsel.
Olay veri yolu türleri
AWS içinde mevcut olay veri yolu türleri şunlardır:
Varsayılan Olay Veri Yolu:
Her AWS hesabında otomatik olarak sağlanır.
Öncelikle AWS hizmetlerinden gelen olayları almak için kullanılır (ör. EC2 durum değişiklikleri veya S3 olayları).
Gerektiğinde kendi özel olaylarınızı da varsayılan veri yoluna gönderebilirsiniz.
Özel Olay Veri Yolları:
Farklı alanları, servisleri veya iş yüklerini desteklemek için sizin tarafınızdan oluşturulur.
Uygulama olaylarını izole etmek veya geliştirme ve üretim ortamlarını ayırmak için idealdir.
Erişim politikaları ve olay yönlendirme üzerinde daha ince kontrol sağlar.
Kullanım örneği:
E-ticaret operasyonları için bir, analitik için başka bir tane olmak üzere farklı alanlar için ayrı olay veri yolları oluşturun; böylece olay akışlarını izole ve yönetilebilir tutun.
EventBridge Pipes, kaynaklar (ör. DynamoDB Streams) ile hedefler (ör. SQS veya Lambda) arasındaki bağlantıyı özel koda gerek kalmadan basitleştirir.
Aşağıdaki görsel, AWS Konsolu’nda EventBridge Pipes bölümünü göstermektedir.
AWS Konsolu’nda EventBridge Pipes bölümünü gösteren ekran görüntüsünü içeren görsel.
Pipes’ın temel özellikleri:
Filtreleme: Hangi olayların borudan geçeceğini sınırlamak için olay desenlerini kullanın.
Zenginleştirme: Teslimattan önce olayı zenginleştirmek için bir Lambda işlevi çağırarak bağlam ekleyin.
Dönüştürme: Girdi dönüştürücüleri kullanarak olayın biçimini dönüştürün.
Pipes ne zaman kullanılmalı:
Veri akışlarını (örn. Kinesis veya DynamoDB) aşağı yöndeki tüketicilere bağlarken.
Farklı olay formatlarına sahip AWS hizmetlerini entegre ederken.
Scheduler
EventBridge Scheduler, günlük yedeklemeler, saatlik veri senkronizasyonları veya bir programa bağlı iş akışlarını tetiklemek gibi zaman tabanlı görev yürütmeyi sağlar.
Aşağıdaki görsel, AWS Konsolu’nda EventBridge Scheduler bölümünü göstermektedir.
AWS Konsolu’nda EventBridge Scheduler bölümünü gösteren ekran görüntüsünü içeren görsel.
Temel özellikler şunlardır:
Tek seferlik veya yinelenen yürütmeler
Cron ifadeleri veya oran (rate) tabanlı ifadeler için destek
Zaman dilimleri, başlangıç/bitiş pencereleri ve yeniden deneme mantığı üzerinde kontrol
Bu bileşenler—olay veri yolları, kurallar, pipes, scheduler ve şema kayıt defteri—birlikte AWS üzerinde sağlam olay tabanlı mimariler kurmak ve yönetmek için kapsamlı ve esnek bir platform oluşturur.
Her biri servislerin gevşek bağlanmasına, ölçeklenebilirliğin iyileştirilmesine ve daha hızlı uygulama geliştirmeye benzersiz bir katkı sağlar.
EventBridge ile Olay Tabanlı Uygulamalar Geliştirme
Temel kurulum tamamlandığına göre, Amazon EventBridge’i gerçek uygulama iş akışlarında kullanma zamanı.
Uygulamanızda EventBridge’i kurma
AWS CLI kullanarak uygulamanızdan özel olayları şöyle yayımlayabilirsiniz:
Bu mantığı Lambda işlevlerinize, arka uç servislerinize veya SDK’lar (örn. Boto3, AWS SDK for JavaScript) kullanarak konteynerize iş yüklerinize doğrudan entegre edebilirsiniz.
AWS hizmetleri arasında olay yönlendirme
AWS hizmetleri arasında olayları yönlendirmek, EventBridge aracılığıyla S3 eylemlerinden Lambda işlevlerini tetiklemek gibi sorunsuz entegrasyonlar sağlar.
Örnek senaryo: Amazon S3’ü EventBridge üzerinden bir Lambda işlevine bağlayın.
Adım 01: Bir S3 kovası oluşturun ve bir nesne yükleyin.
Adım 02: S3 olay bildirimlerini EventBridge üzerinden etkinleştirin:
S3 kovasına gidin.
Olay Bildirimleri altında "EventBridge" seçeneğini etkinleştirin.
Adım 03: Olay desenini eşleyecek bir EventBridge kuralı oluşturun:
Bu sayede uygulamanız olayı işlerken, kullanıcıları bilgilendirebilir ve günlükleri güncelleyebilir; tüm bunları görevleri birbirine bağlamadan, paralel şekilde yapabilirsiniz.
Performansı optimize etme ve güvenliği sağlama
Gereksiz işlemeyi en aza indirip riski azaltan, hassas olay desenleri tasarlayarak performansı ve güvenliği optimize edin.
Verimli olay desenleri tasarlama
Gereksiz yürütmeleri tetikleyen geniş veya her şeyi yakalayan desenlerden kaçının. Bunun yerine olayları hassas şekilde filtreleyin:
DLQ’ler teslim edilemeyen olayları yakalar; böylece bunları daha sonra teşhis edip yeniden işleyebilirsiniz.
> Bulut uygulamalarını güvence altına alma ve AWS izinlerini yönetme konusunda derinlemesine bilgi edinmek istiyorsanız AWS Security and Cost Management kursuna göz atın.
Maliyetleri ve servis kotalarını yönetme
Maliyetleri ve performansı etkin şekilde yönetmek için EventBridge’in fiyatlandırma modelini anlamak ve servis kotalarını düzenli olarak izlemek önemlidir.
Fiyatlandırma yapısını anlama
Şunlar üzerinden ücretlendirilirsiniz:
Yayımlanan olay (milyon olay başına $)
Yeniden yürütülen olay
Pipe kullanımı
Scheduler işleri
Ücretsiz katman, ayda 100.000 olayı içerir; bu da çoğu geliştirme ve küçük üretim kullanım senaryosu için cömerttir.
Servis kotalarını izleme ve ayarlama
Şunları kullanarak kotaları takip edin ve artış talep edin:
Kullanımınızı sorumlu şekilde ölçeklemek, yük arttıkça sisteminizin güvenilir kalmasını sağlar.
Gelişmiş EventBridge yapılandırmaları ve alternatifler
Daha karmaşık olay tabanlı mimariler için, kontrolü, güvenliği ve zamanlama esnekliğini artırmak üzere gelişmiş EventBridge özelliklerini ve alternatif desenleri değerlendirmelisiniz.
Hesaplar arası olay dağıtımı
AWS hesapları arasında güvenli olay paylaşımını etkinleştirin:
Gereksinimlerinize bağlı olarak, belirli kullanım durumlarına daha iyi uyan diğer AWS hizmetlerini değerlendirmek isteyebilirsiniz.
Bazı örnekler şunlardır:
Kullanım Durumu
Alternatif
FIFO veya sıkı sıralama
Amazon SQS FIFO
Yüksek throughput ve düşük gecikme
Amazon MSK (Kafka)
Karmaşık orkestrasyon
Step Functions
Basit bildirimler
Amazon SNS
Sonuç
Amazon EventBridge, modern, bulut-yerel uygulamalar için temel bir yapı taşıdır; ölçeklenebilir, gevşek bağlı sistemler kurmanıza, AWS ve SaaS platformları genelinde gerçek zamanlı olaylara yanıt vermenize ve iş akışlarını minimum altyapı yüküyle entegre etmenize olanak tanır.
EventBridge ile başarı için, modüler ve olay tabanlı alanlar tasarlamaya, en az ayrıcalık ve ölü mektup kuyruğu en iyi uygulamalarını uygulamaya ve kullanım, kotalar ile maliyetleri sürekli izlemeye odaklanın.
Ben Don—Danışman, Geliştirici, Mühendis, Dijital Mimar ve Yazarım (kısacası, birden çok şapka takıyorum 👨💻🎩). Dijital platformların sorunsuz çalışmasını sağlamayı ve onları sürekli daha iyi hâle getirmenin yollarını bulmayı seviyorum. Kod yazmadığım zamanlarda yapay zekâ, veri bilimi ve teknoloji üzerine yazıyorum.
Yıllar içinde yazılım geliştirme ve optimizasyondan yapay zekâ modelleri yaygınlaştırmaya ve bulut çözümleri tasarlamaya kadar pek çok alanda çalıştım. Yapay Zekâ alanında Yüksek Lisans ve Bilgisayar Bilimleri alanında Lisans derecelerine sahibim; her ikisini de Brunel University London’dan aldım.
Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Amazon EventBridge, geliştiricilerin operasyonel yükü en aza indirerek olay tabanlı mimariler kurmasına olanak tanıyan güçlü, sunucusuz bir olay veri yolu hizmetidir.
Bulut-yerel sistemlerle çalışırken, gerçek zamanlı yanıt verebilmenin ve servislerin gevşek şekilde bağlanmasının ölçeklenebilir ve sürdürülebilir uygulamalar inşa etmek için ne kadar kritik olduğunu gördüm; EventBridge tam olarak bunu sunuyor.
Amazon EventBridge Nedir?
Yapılandırmaya geçmeden önce, EventBridge’in ne olduğunu, neden önemli olduğunu ve AWS’nin daha geniş olay tabanlı araç ekosistemine nasıl uyduğunu anlamak önemlidir.
Amazon EventBridge’e Genel Bakış
Amazon EventBridge tamamen yönetilen, sunucusuz bir olay veri yolu hizmetidir ve uygulamaların olaylar aracılığıyla neredeyse gerçek zamanlı iletişim kurmasına olanak tanır.
Bu hizmet, olay üreticileri (S3, DynamoDB veya özel uygulamalar gibi değişiklik kaynakları) ile olay tüketicileri (Lambda, Step Functions veya SNS gibi bu değişikliklere tepki veren servisler) arasında yönlendirme görevini basitleştirir.
Amazon EventBridge’in olayları üreticilerden birden çok hedefe yönlendirdiğini gösteren görsel bir diyagram. Kaynak: AWS Blogs
EventBridge, ölçeklenebilirlik ve esneklik düşünülerek tasarlanmıştır.
Saniyede milyonlarca olayı işlemek üzere otomatik olarak ölçeklenir ve JSON tabanlı kurallarla karmaşık yönlendirme mantıklarına izin verir.
Bazı temel yetenekler şunlardır:
Bu özellikler, EventBridge’i gevşek bağlı, dayanıklı bulut mimarileri kurmak için temel bir araç haline getirir.
EventBridge ve olay tabanlı mimari
EventBridge, olay tabanlı mimari (EDA) modeline dayanır.
EDA’de servisler, birbirlerine senkron çağrılar yapmak yerine olaylar yayıp bu olaylara tepki vererek iletişim kurar.
Örneğin, bir servisin başka bir servisin API’sini bir görevi başlatmak için çağırması yerine, sadece "ImageUploaded" gibi bir olay yayması yeterlidir; bu olayı dinleyen diğer servisler de buna göre tepki verir.
Aşağıdaki görsel, Amazon API Gateway’in merkezi EventBridge olay veri yoluna güvenli bir giriş noktası olarak hizmet verdiği bu kurulumu göstermektedir.
Amazon API Gateway’in, çekirdek EventBridge veri yoluna güvenli bir giriş noktası olduğunu gösteren görsel. Kaynak: AWS Blogs
Olay tabanlı mimarinin faydaları:
Olay tabanlı mimarinin faydalarını gösteren görsel.
EventBridge, AWS üzerinde EDA’nın omurgası olarak hizmet verir; mikro servisleri, bulut kaynaklarını ve hatta üçüncü taraf sistemleri sıkı bağlamadan birbirine bağlamanızı sağlar.
> AWS’nin olay odaklı ekosistemi hakkında sağlam bir anlayış oluşturmak istiyorsanız, AWS Cloud Technology and Services kursunu inceleyin.
EventBridge’in diğer olay tabanlı seçeneklerden farkı
AWS, olay ve mesaj işleme için çeşitli araçlar sunar; ancak EventBridge, SNS ve SQS gibi alternatiflerden ayrışmasını sağlayan benzersiz özellikler sunar.
SNS (Simple Notification Service)
SNS, basit yayınla/abone ol (pub/sub) mesajlaşma için idealdir.
Bir başlığa mesaj yayınlayabilir ve bunun e-posta, SMS veya Lambda gibi birden çok aboneye teslim edilmesini sağlayabilirsiniz.
Ancak, gelişmiş yönlendirme ve olay filtreleme yeteneklerinden yoksundur.
SQS (Simple Queue Service)
SQS, mesaj depolama ve işleme için güvenilir ve ölçeklenebilir bir kuyruk sağlar.
Tüketiciler mesajları almak için kuyruğu yoklar; bu, asenkron ve gevşek bağlı sistemler için kullanışlıdır ancak gerçek zamanlı, itmeye dayalı yönlendirmeyi desteklemez.
EventBridge
EventBridge, gerçek zamanlı yönlendirme, zengin filtreleme, şema doğrulama ve SaaS entegrasyonu ile her ikisinin en iyi yanlarını birleştirir.
Esnek kurallara, birden çok hedefe ve servisler arası sorunsuz entegrasyona ihtiyaç duyan karmaşık, büyük ölçekli olay tabanlı sistemler için tasarlanmıştır.
CloudWatch Events
CloudWatch Events, EventBridge’in öncülüdür.
EventBridge, aşağıdakileri ekleyen yeni nesil bir yedeklemedir:
Hâlâ CloudWatch Events kullanıyorsanız, daha zengin yetenekler için EventBridge’e geçmeyi düşünün.
İşte tartışılan farklı hizmetlerin hızlı bir karşılaştırması:
Özellik
SNS
SQS
EventBridge
Teslimat Modeli
İtme (yayınla/abone ol)
Yoklama (kuyruk)
İtme (kural tabanlı yönlendirme ile)
Olay Filtreleme
Temel (mesaj öznitelikleri)
Yok
Gelişmiş (JSON desen eşleştirme)
Yelpaze Dağıtımı (Fan-out) Desteği
Evet
Hayır
Evet
Şema Desteği
Hayır
Hayır
Evet (şema kayıt defteri)
SaaS ile Entegrasyon
Sınırlı
Sınırlı
Evet (yerel SaaS entegrasyonları)
Olay Yeniden Yürütme
Hayır
Saklama ile
Evet
Ölü Mektup Kuyruğu (DLQ)
Evet
Evet
Evet
Amazon EventBridge’in Çekirdek Bileşenleri ve Temel Özellikleri
Amazon EventBridge’i etkili şekilde kullanmak için temel yapı taşlarını anlamak esastır.
Bu bileşenler, altyapı yükünü en aza indirerek dinamik, olay tabanlı iş akışlarını etkinleştirmek için birlikte çalışır.
Aşağıda her bir bileşenin ayrıntılı bir dökümü, ne yaptığı ve nasıl kullanılacağı yer almaktadır.
Olay veri yolları
EventBridge’in kalbinde, tüm olayların aktığı kanal görevi gören olay veri yolu bulunur.
Bir olay veri yolu, AWS hizmetlerinden, özel uygulamalardan veya SaaS sağlayıcılardan olayları alır ve eşleşen kurallara göre uygun hedeflere yönlendirir.
Aşağıdaki görsel, AWS Konsolu’ndaki EventBridge Buses bölümünü göstermektedir.
AWS Konsolu’nda EventBridge Buses bölümünü gösteren ekran görüntüsünü içeren görsel.
Olay veri yolu türleri
AWS içinde mevcut olay veri yolu türleri şunlardır:
Varsayılan Olay Veri Yolu:
Özel Olay Veri Yolları:
Kullanım örneği:
E-ticaret operasyonları için bir, analitik için başka bir tane olmak üzere farklı alanlar için ayrı olay veri yolları oluşturun; böylece olay akışlarını izole ve yönetilebilir tutun.
Özel bir olay veri yolu oluşturma:
Kurallar ve hedefleri anlama
Kurallar, hangi olayların hangi hedeflere yönlendirileceğini tanımlar.
Veri yolundaki gelen olayları filtrelemek için JSON desen eşleştirme kullanır ve bunları bir veya daha fazla hedefe iletir.
Kurallarla ilgili temel noktalar:
detail-typeveya iç içedetailalanları gibi herhangi bir olay özniteliği üzerinde filtreleme yapabilirsiniz.Desteklenen hedefler şunlardır:
Desteklenen hedefler için AWS hizmet simgelerini içeren görsel.
Aşağıdaki örnek, bir olay kuralının nasıl tanımlanacağını ve hedef olarak bir Lambda işlevine nasıl bağlanacağını göstermektedir:
Örnek olay deseni (
event-pattern.json):Pipes
EventBridge Pipes, kaynaklar (ör. DynamoDB Streams) ile hedefler (ör. SQS veya Lambda) arasındaki bağlantıyı özel koda gerek kalmadan basitleştirir.
Aşağıdaki görsel, AWS Konsolu’nda EventBridge Pipes bölümünü göstermektedir.
AWS Konsolu’nda EventBridge Pipes bölümünü gösteren ekran görüntüsünü içeren görsel.
Pipes’ın temel özellikleri:
Pipes ne zaman kullanılmalı:
Scheduler
EventBridge Scheduler, günlük yedeklemeler, saatlik veri senkronizasyonları veya bir programa bağlı iş akışlarını tetiklemek gibi zaman tabanlı görev yürütmeyi sağlar.
Aşağıdaki görsel, AWS Konsolu’nda EventBridge Scheduler bölümünü göstermektedir.
AWS Konsolu’nda EventBridge Scheduler bölümünü gösteren ekran görüntüsünü içeren görsel.
Temel özellikler şunlardır:
Zamanlanmış bir olay oluşturun:
Bu zamanlama,
RunETLLambda işlevini her gün çağırır.Şema Kayıt Defteri ve Olay Yeniden Yürütmeleri
Şema Kayıt Defteri, geliştiricilerin olayların yapısını anlamasına ve belgelemesine yardımcı olur.
AWS hizmetlerinden ve özel uygulamalardan şemaları otomatik olarak keşfeder ve bir kayıt defterinde saklar.
Şema Kayıt Defteri’nin faydaları şunlardır:
Olay Yeniden Yürütmeleri, veri yolundaki olayları arşivlemenize ve daha sonra yeniden yürütmenize olanak tanır.
Bu, şu durumlar için değerlidir:
EventBridge’in olayları nasıl yönlendirdiğini gösteren kavramsal diyagramı içeren görsel. Kaynak: AWS Blogs
Olay arşivlemeyi etkinleştirin:
Arşivlenmiş olayları yeniden yürütün:
Bu bileşenler—olay veri yolları, kurallar, pipes, scheduler ve şema kayıt defteri—birlikte AWS üzerinde sağlam olay tabanlı mimariler kurmak ve yönetmek için kapsamlı ve esnek bir platform oluşturur.
Her biri servislerin gevşek bağlanmasına, ölçeklenebilirliğin iyileştirilmesine ve daha hızlı uygulama geliştirmeye benzersiz bir katkı sağlar.
EventBridge ile Olay Tabanlı Uygulamalar Geliştirme
Temel kurulum tamamlandığına göre, Amazon EventBridge’i gerçek uygulama iş akışlarında kullanma zamanı.
Uygulamanızda EventBridge’i kurma
AWS CLI kullanarak uygulamanızdan özel olayları şöyle yayımlayabilirsiniz:
Açıklama:
Source: Olayı yayan servisin adı veya alanı.DetailType: Yayımlanan olayın türü.Detail: Dizeleştirilmiş JSON olarak kodlanan yük.EventBusName: Olayı alıp yönlendirecek veri yolu.Bu mantığı Lambda işlevlerinize, arka uç servislerinize veya SDK’lar (örn. Boto3, AWS SDK for JavaScript) kullanarak konteynerize iş yüklerinize doğrudan entegre edebilirsiniz.
AWS hizmetleri arasında olay yönlendirme
AWS hizmetleri arasında olayları yönlendirmek, EventBridge aracılığıyla S3 eylemlerinden Lambda işlevlerini tetiklemek gibi sorunsuz entegrasyonlar sağlar.
Örnek senaryo: Amazon S3’ü EventBridge üzerinden bir Lambda işlevine bağlayın.
Adım 01: Bir S3 kovası oluşturun ve bir nesne yükleyin.
Adım 02: S3 olay bildirimlerini EventBridge üzerinden etkinleştirin:
Adım 03: Olay desenini eşleyecek bir EventBridge kuralı oluşturun:
Adım 04: Yüklenen nesneyi işlemek için kuralın hedefi olarak bir Lambda işlevi ekleyin.
Bu desen, daha sonra Step Functions gibi diğer hedefler veya bildirimler için SNS ekleyerek işlemi genişletmenize olanak tanır.
Uygulamalı örnek: Görsel yükleme ve yeniden boyutlandırma iş akışı
Tipik bir olay tabanlı hattı adım adım ele alalım:
01: Kullanıcı bir görseli S3’e yükler.
02: S3, varsayılan EventBridge veri yoluna bir olay yayar.
03: EventBridge,
s3:ObjectCreated:*için bir kuralı eşleştirir ve olayı bir Lambda işlevine yönlendirir.04: Lambda, görseli yeniden boyutlandırır, farklı bir S3 kovasına kaydeder ve çıktıyı günlüğe yazar.
Bu desen güçlüdür çünkü:
Ölçeklenebilirlik ve esneklik için kurallar ekleme
Tek bir kurala birden fazla hedef ekleyerek olayları kolayca yelpaze şeklinde dağıtabilirsiniz:
Bu sayede uygulamanız olayı işlerken, kullanıcıları bilgilendirebilir ve günlükleri güncelleyebilir; tüm bunları görevleri birbirine bağlamadan, paralel şekilde yapabilirsiniz.
Performansı optimize etme ve güvenliği sağlama
Gereksiz işlemeyi en aza indirip riski azaltan, hassas olay desenleri tasarlayarak performansı ve güvenliği optimize edin.
Verimli olay desenleri tasarlama
Gereksiz yürütmeleri tetikleyen geniş veya her şeyi yakalayan desenlerden kaçının. Bunun yerine olayları hassas şekilde filtreleyin:
Bu yaklaşım maliyeti azaltır, gecikmeyi iyileştirir ve yalnızca ilgili olayların işlenmesini sağlar.
Sağlam güvenlik kontrolleri uygulama
Güvenlik, her sunucusuz mimaride kritiktir. Şu yönergeleri izleyin:
DLQ’ler teslim edilemeyen olayları yakalar; böylece bunları daha sonra teşhis edip yeniden işleyebilirsiniz.
> Bulut uygulamalarını güvence altına alma ve AWS izinlerini yönetme konusunda derinlemesine bilgi edinmek istiyorsanız AWS Security and Cost Management kursuna göz atın.
Maliyetleri ve servis kotalarını yönetme
Maliyetleri ve performansı etkin şekilde yönetmek için EventBridge’in fiyatlandırma modelini anlamak ve servis kotalarını düzenli olarak izlemek önemlidir.
Fiyatlandırma yapısını anlama
Şunlar üzerinden ücretlendirilirsiniz:
Ücretsiz katman, ayda 100.000 olayı içerir; bu da çoğu geliştirme ve küçük üretim kullanım senaryosu için cömerttir.
Servis kotalarını izleme ve ayarlama
Şunları kullanarak kotaları takip edin ve artış talep edin:
İzlenecek önemli kotalar:
Kullanımınızı sorumlu şekilde ölçeklemek, yük arttıkça sisteminizin güvenilir kalmasını sağlar.
Gelişmiş EventBridge yapılandırmaları ve alternatifler
Daha karmaşık olay tabanlı mimariler için, kontrolü, güvenliği ve zamanlama esnekliğini artırmak üzere gelişmiş EventBridge özelliklerini ve alternatif desenleri değerlendirmelisiniz.
Hesaplar arası olay dağıtımı
AWS hesapları arasında güvenli olay paylaşımını etkinleştirin:
Kullanımı denetlemek ve uyumluluğu sağlamak için AWS CloudTrail kullanın.
EventBridge scheduler gelişmiş özellikleri
Temel zamanlamanın ötesine geçin:
Örnek cron ifadesi:
Her Pazartesi 09:00’da bir iş akışını tetikleyin:
Ne zaman alternatifleri düşünmeli
Gereksinimlerinize bağlı olarak, belirli kullanım durumlarına daha iyi uyan diğer AWS hizmetlerini değerlendirmek isteyebilirsiniz.
Bazı örnekler şunlardır:
Kullanım Durumu
Alternatif
FIFO veya sıkı sıralama
Amazon SQS FIFO
Yüksek throughput ve düşük gecikme
Amazon MSK (Kafka)
Karmaşık orkestrasyon
Step Functions
Basit bildirimler
Amazon SNS
Sonuç
Amazon EventBridge, modern, bulut-yerel uygulamalar için temel bir yapı taşıdır; ölçeklenebilir, gevşek bağlı sistemler kurmanıza, AWS ve SaaS platformları genelinde gerçek zamanlı olaylara yanıt vermenize ve iş akışlarını minimum altyapı yüküyle entegre etmenize olanak tanır.
EventBridge ile başarı için, modüler ve olay tabanlı alanlar tasarlamaya, en az ayrıcalık ve ölü mektup kuyruğu en iyi uygulamalarını uygulamaya ve kullanım, kotalar ile maliyetleri sürekli izlemeye odaklanın.
AWS uzmanlığınızı derinleştirmek istiyorsanız, AWS Cloud Practitioner kurs yolunu keşfedin!