Yük altındaki sistemlerde asenkron hayat

23
Yük Altındaki Sistemlerde Asenkron Hayat İbrahim Gündüz Şubat 2014

description

Bu oturumda yüksek trafik altına çalışan sistemlerin, bilinen klasik ölçeklenebilirlik metodolojilerinin dışında, uygulamanın diğer sistemlerle etkileşimini asenkron olarak gerçekleştirerek sürdürülebilirliğin sağlanabilmesi üzerine keyifli bir sohbet gerçek hayat örnekleriyle birlikte dinleyicileri bekliyor.

Transcript of Yük altındaki sistemlerde asenkron hayat

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/