# Olay Güdümlü Mimari

Adres: https://softwaredictionary.org/tr/terimler/event-driven-architecture
Kategori: Yazılım Mimarisi
Son güncelleme: 2026-09-30
İngilizcesi: Event-Driven Architecture
Türkçe karşılığı: olay tabanlı mimari
Okunuşu: ivent drivın arkitekçır

Kısaca: Olay güdümlü mimari, servislerin bir siparişin verilmesi gibi olaylar üreterek ve bunlara tepki vererek iletişim kurduğu bir yazılım tasarım tarzıdır.

## Olay güdümlü mimari nedir?

Olay güdümlü mimaride bileşenler birbirini doğrudan çağırmak yerine bir şeyin olduğunu duyurarak iletişim kurar. Olay (event), genellikle küçük bir veri yüküyle birlikte `OrderPlaced` ya da `UserSignedUp` gibi bir olgunun kaydıdır. Üreticiler (producer) olayları yayınlar ve istenen sayıda tüketici (consumer) bunlara birbirinden bağımsız tepki verebilir.

Olaylar genellikle bir mesaj kuyruğu ya da olay akışı platformu gibi, onları saklayan ve abonelere ileten bir olay aracısı (event broker) üzerinden ilerler. Örneğin bir sipariş verildiğinde sipariş servisi tek bir olay yayınlar; ödeme, stok, e-posta ve analitik servislerinin her biri kendi yöntemiyle tepki verir. Sipariş servisi kimin dinlediğini bilmez ve umursamaz; bu yüzden onu değiştirmeden yeni tüketiciler eklenebilir.

Yangın alarmı bir benzetmedir: çaldığında insanlar binayı terk eder, itfaiye çağrılır ve asansörler durur; alarm bunların hiçbirini bilmez. Olay güdümlü mimari mikroservislerde, gerçek zamanlı sistemlerde, bağlı cihazlarda, ödeme işlemede ve yavaş işlerin kullanıcıyı bekletmek yerine arka planda yapılması gereken her yerde yaygındır.

Bunun ödünü, sistemin eşzamansız ve nihai tutarlı (eventually consistent) hâle gelmesidir: farklı servisler güncel durum konusunda kısa süreliğine uyuşmayabilir ve tek bir isteği birçok olay boyunca izlemek iyi bir günlükleme ve iz sürme gerektirir. Tüketiciler ayrıca yinelenen ya da sırası bozuk olayları da ele almalıdır; idempotent işleyicilerin önemi buradan gelir. Olay güdümlü mimari, tek bir program içinde çalışan observer deseninden ve çağıranın yanıt beklediği istek-yanıt API'lerinden farklıdır.

## Önemli noktalar

- Bileşenler olay yayınlayıp tüketerek iletişim kurar.
- Üreticiler hangi tüketicilerin var olduğunu bilmez; bu, servisleri gevşek bağlı tutar.
- Bir olay aracısı ya da mesaj kuyruğu olayları saklar ve iletir.
- Sistemler eşzamansız ve nihai tutarlı hâle gelir.
- Olaylar birden fazla kez ulaşabileceği için tüketiciler idempotent olmalıdır.

## Örnek: Bir olayı yayınlamak ve tüketmek

```typescript
// broker is a placeholder for a message queue or event streaming client

// Producer: the order service announces what happened and moves on
await broker.publish("order.placed", { orderId: "A-1001", total: 59.9 });

// Consumers: each service reacts independently to the same event
broker.subscribe("order.placed", async (event) => {
  await sendConfirmationEmail(event.orderId);
});

broker.subscribe("order.placed", async (event) => {
  await reserveStock(event.orderId);
});
```

## Sık sorulan sorular

**Olay güdümlü mimari ile istek-yanıt arasındaki fark nedir?**

İstek-yanıt modelinde çağıran belirli bir servise istek gönderir ve yanıt bekler. Olay güdümlü mimaride ise üretici beklemeden bir olay yayınlar ve ilgilenen servisler buna kendi takvimlerinde tepki verir.

**Olay aracısı (event broker) nedir?**

Olay aracısı, üreticilerden olayları alan, saklayan ve tüketicilere ileten altyapıdır. Mesaj kuyrukları ve olay akışı platformları yaygın örneklerdir.

**Nihai tutarlılık (eventual consistency) nedir?**

Nihai tutarlılık, bir değişiklikten sonra sistemin farklı bölümlerinin kısa bir süre farklı veri gösterebileceği, ancak ilgili olaylar işlendiğinde hepsinin güncel hâle geleceği anlamına gelir. Olay güdümlü ve dağıtık sistemlerde yaygın bir ödündür.

---

Software Dictionary: https://softwaredictionary.org/tr · https://softwaredictionary.org/tr/llms.txt
