34
PHP UYGULAMANIZI GÜÇLENDİRİN Muhittin Özer PHPKonf '15

PHPkonf'15 - PHP Uygulamanızı Güçlendirin

Embed Size (px)

Citation preview

PHP UYGULAMANIZI GÜÇLENDİRİN

Muhittin Özer

PHPKonf '15

NEDEN PHP?• Open Source

• Kolay

• öğrenilir,

• anlaşılır,

• çalıştırılır,

• Kaynak

• çok sayıda

• Türkçe

• Topluluk

• İş İmkanı

PHP’NİN DEZAVANTAJLARI!!!

• Performans (?)

• Büyük çaplı uygulamalarda yetersiz kalması (?)

• Real-Time işlemlerde tek başına yetersiz oluşu (?)

PHP’NİN DEZAVANTAJLARI!!!

• Spagetti koda yatkın oluşu (?)

• Güvenlik zaafiyetleri (?)

• Ayağa düşmüş olması (?)

MODERN

CACHING (ÖNBELLEKLEME) TEKNOLOJİLERİ

CACHE TÜRLERİ

• Tarayıcı (Browser) Cache

• Veri (Data) Cache

• Web Hızlandırıcılar (Accelerators)

TARAYICI (BROWSER) CACHE

• HTML• XML• JSON• Görseller• JS, CSS dosyaları

TARAYICI (BROWSER) CACHE

TARAYICI (BROWSER) CACHE

Anahtar Kelime: Leverage Browser Caching

VERİ (DATA) CACHE

• Sıklıkla ihtiyaç duyulan veriler

• Nadir değişen veriler

• Ortalama değişme süresi içerisinde sıklıkla ihtiyaç duyulan veriler

VERİ (DATA) CACHE

• Derlenen PHP kodları

• Şablon (View) Katmanı

• Template Engine

• Output Caching

VERİ (DATA) CACHE YÖNTEMLERİ

• Üretilen PHP kodları

• Template Engine Syntax’ından üretilen view katmanı

• Output Sayfaları

• Kullanılacak verilerin tutulduğu txt,csv,json vb formatındaki cache dosyaları

1. Dosya olarak cache tutmak

VERİ (DATA) CACHE YÖNTEMLERİ

• Opcode (Bytecode) Cache: PHP kodunun derlenmiş halini hafızada tutarak tekrar derleme yapmamasını sağlarlar

• APC, XCache, ZendOptimizer vb.

• Data Store Cache: Yazılım içerisinde elde edilen veriler ilgili kütüphanelerle hafızada cache’lenir ve cache ömrü boyunca hafızadan okunur

• Memcached, APC, APCu vb.

2. Hafızada (Memory) cache tutmak

VERİ (DATA) CACHE YÖNTEMLERİ

3. Veritabanında cache tutmak

SQL, MongoDB veya NoSQL, Redis

WEB HIZLANDIRICILAR (ACCELERATORS)

MESAJ KUYRUKLAMA (MESSAGE QUEUE)

TEKNOLOJİLERİ

NEDEN İHTİYAÇ DUYULUR?

• Bildirim İşlemleri

• E-Mail

• SMS

• Push-Notification

NEDEN İHTİYAÇ DUYULUR?• 3. Parti Entegrasyonlar

• ERP

• CRM

• Muhasebe

• …

NEDEN İHTİYAÇ DUYULUR?

• Veri Senkronizasyonu

• Farklı veritabanları

• Aynı Veritabanı

NASIL ÇALIŞIR?

Publisher (Gönderen)

Consumer (İşlem Yapan)

POPÜLER MQ SİSTEMLERİ

BeanstalkD

ARAMA MOTORU (SEARCH ENGINE)

TEKNOLOJİLERİ

NEDEN İHTİYAÇ DUYULUR?

• Full-Text arama işlemlerinde database sorgularının performans problemi

• Büyük ve dağınık verilerde kısa sürede sonuç üretmek

• Veri analizi işlemleri

NEDEN İHTİYAÇ DUYULUR?

• Daha doğru arama sonuçları sunmak

• İlişkisel verilerle kompleks arama/filtreleme işlemleri yapabilmek

NE SUNAR?

HIZ Veri boyutu artsa bile

NE SUNAR?

Farklı tipteki verilerden anlamlı sonuçlar üretir

NE SUNAR?

Arama sonuçlarını sizin belirlediğiniz kriterlere göre önceliklendirir

NE SUNAR?

Önerme ve Düzeltme

NE SUNAR?

Ölçeklenebilir

POPÜLER ARAMA MOTORLARI

Karşılaştırma

Muhittin Özer Atölye15

TEŞEKKÜRLER

/muhittinozer/muhittin/muhittin