Node JS kullanacağımız sunucu ile yazılımımızın barındığı sunucu aynı olsa bir sorun oluşturur mu? Birbirleri ile aynı sunucu üzerinden iletişim kursalar.
Yani Node JS sunucusunun ayrı olmasına gerek var mı? Digital Ocean'da satılık ayrı node js sunucuları mevcut kafamı karıştırdı biraz.
Teşekkürler.
Node JS ile ilgili ufak bir soru.
11
●434
- 15-02-2019, 06:38:32Peki hocam NodeJS ile ilgili alınabilecek güvenlik önlemleri var mıdır?Yurtnet adlı üyeden alıntı: mesajı görüntüle
Şimdi NodeJS ile biz sistemimizde anlık ciroları güncelleyeceğiz. Yani sistem her işlem yapıldığında aktif kullanıcının toplam cirosunu güncelleyecek. Buda devamlı veritabanı sorgusu olarak geri dönecek tabi.
Performans açısından ne tür eksiler yaratabilir? Ajax ile karıştırdığım için devamlı. - 15-02-2019, 08:48:37Isin icinde veritabani varise yazilim kismi tek basina etken degildir performans icin. Database yapinizin dogru olusturulmus ise cok buyuk sorun olmayacaktirBR9 adlı üyeden alıntı: mesajı görüntüle
- 15-02-2019, 21:50:08Database evet doğru oluşturuldu INNODB kullanılıyor zaten ilişkisel bir veritabanı. MySQL yapısı ne kadar doğru oluşturulursa oluşturulsun belli bir sınırı var mı hocam? Örneğin odeme_kayitlari gibi bir tablomuz var ve bu tabloda diyelim binlerce sayfa kayıt var.Meftun adlı üyeden alıntı: mesajı görüntüle
Ne zaman sistem ağırlaşma veya benzeri problemler yaşar? veya düzgün oluşturulduysa kaç sayfa olursa olsun sorun çıkartmaz mı yoksa. - 16-02-2019, 03:52:34Veritabanı ve performans meselesi derya deniz bir mesele onlarca farklı senaryo oluşturulabilr.
Bu senaryoyu belirlerken yazılımın yapısı, kullanılma alanı, kullanılma yoğunluğu, programlama şekli birçok etkene göre değişir.
Güvenlik ile ilgili herşeyden önce sunucu güvenliğinizi alın.
Eğer ilgili node apinize dışarıdan bağlantı yapılıyorsa zaman damgalı bağlantı anahtarı kullanabilirsiniz böylelikle apinize yapılan atakları bloke edersiniz.
Performans derken mesela ne kadarlık bir yoğunluktan bahsediyoruz?
Mesela bir örnek vermek gerekirse benim üzerinde çalıştığım bir ERP projesi için Cache ve DB sunucuları ayrı ve yatayına genişleyebilir şekilde ayarlamıştık.
Bir db işlemi yapılacağı zaman ilgili işlem Cache sunucuları üzerinde yapılır ve hızlı birşekilde geri dönüş sağlanır ardından Cache sunucusu DB ile kendini senkronize ederdi.
Dediğim gibi bu sadece bir örnek bu konuda önemli olan sizin için en doğru ihtiyacı belirlemeniz çözümü ona göre arayın direk performans demek denizin içinde tek bir balık aramaktan farksız. - 16-02-2019, 06:52:37Merhaba,Yurtnet adlı üyeden alıntı: mesajı görüntüle
Ö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? - 16-02-2019, 08:46:00Data için bir cache yapısı kullanmak istememe sebebiniz nedir?BR9 adlı üyeden alıntı: mesajı görüntüle
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. - 16-02-2019, 20:23:52Değerli cevaplarınız için tekrar teşekkür ediyorum. Cache yapısı kullanmıyoruz derken aslında kullanıyoruz ama daha çok önemli verilerin tutulmadığı yoğun kayıt almayan tablo işlemlerinde kullanıyoruz. Sorgu bir kere yapıldığında daha sonrasında cache üzerinden çekmeye başlıyor zaten Codeigniter'da bunu kolaylıkla yapmamızı sağlayabilecek bir yapı mevcut.Yurtnet adlı üyeden alıntı: mesajı görüntüle
https://www.codeigniter.com/userguid...e/caching.html
Ama burada asıl sorun dediğim gibi işlemlerin çok yoğun kullanıldığı örneğin ödeme kayıtları gibi tablolarda çözüm üretmek. Bahsettiğiniz replication olayını inceleyeceğim. Benim bahsettiğim sistemi yapmak için uygun eklentiler mevcuttu tam olarak adını hatırlayamadığım henüz o kısımda olmadığımız için.