Yük altındaki sistemlerde asenkron hayat

Preview:

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.

Citation preview

Yük Altındaki Sistemlerde Asenkron Hayat

İbrahim GündüzŞubat 2014

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

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

https://github.com/ibrahimgunduz34

https://twitter.com/ibrahimgunduz34

ibrahimgunduz34@gmail.com

http://www.ibrahimgunduz.net/

Neden yük artar ?

Yük artarsa ne olur ?

Neden yük artar ?

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

almak● Reklam vermek

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

Ya sonra...

Ne yapmalı ?!??

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.

● 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

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

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

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.

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ı ??

Neden Asenkron Çalışmalı ?

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

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.

Hangi Araçları Kullanmalı ?

Gerçek Hayattan Kullanım Alanları

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

Bildirim İletilerinin Gönderimi

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

Veri Senkronizasyonu

Ayrık Sistemler Arasında Haberleşme

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

Sorular ??

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

https://github.com/ibrahimgunduz34

https://twitter.com/ibrahimgunduz34

ibrahimgunduz34@gmail.com

http://www.ibrahimgunduz.net/

Recommended