Transcript
Page 1: Yük altındaki sistemlerde asenkron hayat

Yük Altındaki Sistemlerde Asenkron Hayat

İbrahim GündüzŞubat 2014

Page 2: Yük altındaki sistemlerde asenkron hayat

İbrahim GündüzYazılım Geliştirici

http://tr.linkedin.com/in/ibrahimgunduz

https://github.com/ibrahimgunduz34

https://twitter.com/ibrahimgunduz34

[email protected]

http://www.ibrahimgunduz.net/

Page 3: Yük altındaki sistemlerde asenkron hayat

Neden yük artar ?

Yük artarsa ne olur ?

Page 4: Yük altındaki sistemlerde asenkron hayat

Neden yük artar ?

● Göz önünde olmak● Arama motorlarında bulunabilir olmak● Farklı kanallardan yönlendirme trafiği

almak● Reklam vermek

Page 5: Yük altındaki sistemlerde asenkron hayat

Yük artarsa ne olur ?● Sunucuya gelen anlık

istek sayısı artar● Veritabanı üzerinde

çalışan eşzamanlı sorgu sayısı artar

● Sunucular üzerinde bellek, işlemci ve disk G/Ç benzeri kaynakların kullanımı artar.

● Yanıt süreleri uzar

Page 6: Yük altındaki sistemlerde asenkron hayat

Ya sonra...

Page 7: Yük altındaki sistemlerde asenkron hayat
Page 8: Yük altındaki sistemlerde asenkron hayat

Ne yapmalı ?!??

Page 9: Yük altındaki sistemlerde asenkron hayat

Dikey ÖlçeklemeDikey Ölçekleme:Dikey ölçekleme, mevcut sistemlerin cpu, bellek ve disk gibi kaynaklarını arttırmak suretiyle gerçekleştirilir.

● Günü kurtarır.● Genişleme, mevcut sistemin ve günün

teknolojisinin getirdiği limitlerle sınırlıdır.

● Maliyetlidir.● Cihaz hasar gördüğünde sorumlu

olduğu servisin tamamen durmasına neden olabilir.

Page 10: Yük altındaki sistemlerde asenkron hayat

● Daha fazla eş zamanlı isteğe yanıt verebilir.

● Dikey ölçeklenmiş bir sisteme göre daha sürdürülebilir.

● İhtiyaç oldukça yeni düğümler ekleyerek yük dağıtılabilir.

● Ağdaki düğümlerden herhangibiri servis dışı kaldığında sistem kesintisiz olarak çalışmaya devam edebilir.

Yatay Ölçekleme

Page 11: Yük altındaki sistemlerde asenkron hayat

Ölçekleme ve Sürdürülebilirlik

Page 12: Yük altındaki sistemlerde asenkron hayat

ÖLÇEKLENEBİLİRLİK != PERFORMANS

Page 13: Yük altındaki sistemlerde asenkron hayat

Optimizasyon● Gelen isteklerin maliyet analizini

çıkartın, darboğazları tespit edin.● Yavaş çalışan veritabanı sorgularını

tespit edin ve optimize edin.● Sık sorgulanan verileri redis veya

memcahe ile hafızada tutun.● Dinamik veri içermeyen, sık değişim

göstermeyen içerikleri hafızaya alın.● APC gibi hızlandırıcılardan yararlanın.● Defansif geliştirme yapın ve hatalardan

haberdar olun.

Page 14: Yük altındaki sistemlerde asenkron hayat

Erpye Veri Aktarımı

Diğer Uygulamalara Gönderilen API İstekleri

Transactional SMTP İstekleri

Bildirim Servisleri

Veri Senkronizasyon işleri

Peki ya 3. Parti Bağımlılıkları ??

Page 15: Yük altındaki sistemlerde asenkron hayat

Neden Asenkron Çalışmalı ?

Sürdürülebilir sistem mimarisi sağlamak.

Page 16: Yük altındaki sistemlerde asenkron hayat

Asenkron Yapılar Nasıl Çalışırlar ?

Asenkron sistemler, uygulamadan gönderilen mesajların kuyruklanarak başka bir tarafından kuyruktaki mesajların dinlenmesi ve sırayla işlenmesi şeklinde çalışırlar.

Page 17: Yük altındaki sistemlerde asenkron hayat

Hangi Araçları Kullanmalı ?

Page 18: Yük altındaki sistemlerde asenkron hayat

Gerçek Hayattan Kullanım Alanları

Page 19: Yük altındaki sistemlerde asenkron hayat

Üye kaydı veya sipariş onayı gibi durumlarda kullanıcılara elektronik posta veya SMS bildirimlerinin gönderilmesi

Bildirim İletilerinin Gönderimi

Page 20: Yük altındaki sistemlerde asenkron hayat

Önyüzde geçici olarak gösterilen işlenmiş veriler veya arama verilerinin veritabanıyla senkronize edilmesi

Veri Senkronizasyonu

Page 21: Yük altındaki sistemlerde asenkron hayat

Ayrık Sistemler Arasında Haberleşme

Elektronik ticaret uygulamasından alınan siparişin ERP sistemine yansıtılması.

Page 22: Yük altındaki sistemlerde asenkron hayat

Sorular ??

Page 23: Yük altındaki sistemlerde asenkron hayat

Teşekkürler :)http://tr.linkedin.com/in/ibrahimgunduz

https://github.com/ibrahimgunduz34

https://twitter.com/ibrahimgunduz34

[email protected]

http://www.ibrahimgunduz.net/