BR9 adlı üyeden alıntı: mesajı görüntüle
Merhaba,

Ödeme sistemleri ile ilgili bir yazılım geliştiriyoruz. Ufak ayrıntılara kadar atlamamaya çalışıyoruz. Cevaplarınız için teşekkür ederiz.

Codeigniter ile geliştirme yapıyoruz NodeJS ise dışarıdan değil local üzerinden çalışacak direk bu şekilde ayarlama yaptık.

Sunucumuz PCI DSS Level 1 seviyesinde güvenliğe sahip. Tek 1 IP üzerinden ve SMS ile erişim. Tabi bunun yanı sıra sunucunun PCI DSS düzeyinde sağlanması gereken diğer güvenlik önlemleri daha cabası.

Yazılım olarak ise performans açısından konuşmak istiyorum.

Sistemde veritabanı ile senkronize bir cache yapısı yok kullanmayı düşünmüyoruz. Cache olarak klasik bildiğimiz template cachleme sistemi mevcut.

Veritabanı bahsettiğim gibi INNODB ilişkisel veritabanı olarak kullanılıyor ve tablolama yapısı en iyi şekilde ayarlanmaya çalışıyor.

Günlük belki binlerce veri kaydı yapılacak bir sistem olacak.

Nasıl bir önlem alabiliriz gibi düşünürken şöyle bir yol izlemek istedik aslında.

Veritabanı yüküne bağlı olarak birden fazla veritabanı ile senkronize çalışacak bir sistem kurmayı düşünüyoruz.

Farklı MySQL sunucuları ve aynı veritabanları. Yazılım ise birden fazla veritabanına senkronize olacak şekilde veri kaydı yapıp veri çekecek.

1. Sunucu;

A Veritabanı -> 1. Tablo 1 numaralı kayıt

2. Sunucu

B Veritabanı -> 1. Tablo 2 Numaralı kayıt

gibi. Bu konu hakkında yorumunuz nedir acaba?
Data için bir cache yapısı kullanmak istememe sebebiniz nedir?
Bunun dışında bahsettiğiniz 1 den fazla veritabanı konusuna dönecek olursak.
Sizin bahsettiğiniz yapıyı tam olarak nasıl yapacaksınız? Buradaki soru şu:
1) senkronize işlemini yazılıma yüklemişsiniz işe yararmı tabikide. fakat daha profesyonelcesi şu:
Yoğunluk Load balancer ile router düzeyinde yapılmalıdır böylelikle istekler sunucuya ulaşmadan yükü dağıtmış olursunuz.
Veritabanı senkronize işlemi yazılım tarafından değil ilgili db sunucuları üzeerinden replication sistemiyle yapılmalıdır.
kullandığınız veritabanının replication özelliği olduğunu düşünüyorum.
Sizin verdiğiniz örnekte db sunucusunu rahatlatayım derken uygulama sunucusuna bütün yükü yüklüyorsunuz yani totalde yine performans sorunu yaşamanız kaçınılmaz olur.



Cache meselesine değinmek gerekirse.
Tahminimce datanın cache üzerindeyken kayıp yaşamasından kaçındığınız için cache yapısını kullanmıyorsunuz.

Benim nacizane fikrim eğer bir ödeme sistemi yapıyorsam en önemli konu hız olur.
sektörde milisaniyeler içinde yüz binlerce kaydı sorgulayıp yazabilen entegre cache yapıları var ve arka planda datayı diske kaydeip veri kaybını önlüyorlar.
Bunun için biraz kaynak ayırmanız gereke bilir.