SORU
17 Ocak 2011, PAZARTESİ


Ölçekleme node.js

Büyük ölçekli sunucu tarafı geliştirme için oldukça yeni değilim. Bir server node.js ama ben genel ilkeler Ölçekleme için ne olduğunu bilmek istiyorum ilerlemek önce, ne diyelim, 20 sorguları için düğüm kullanarak saniyede yazmak istiyorum.

Yazıyorum hizmeti büyük ölçüde bir veritabanı, artı kimlik ve giriş doğrulama için bir arabirim veri olacak.

CEVAP
17 Ocak 2011, PAZARTESİ


Yük Dengeleme

Büyük ihtimalle en basit siteler için herhangi bir Ölçekleme hiç gerek yok. Sadece tek bir kutu kapalı olacak. Hemen hemen aynı olan her mimarlık(birden fazla düğüm süreçlerin başlayabileceğini söylediğini gibi. bahsettiğiniz gibi Yük Dengeleme yapmak gerekir bundan sonra Ama gerçekten çok büyük olduğunda daha çok kutu lazım).

Nginx load balancing example:

http {
  upstream myproject {
    server 127.0.0.1:8000 weight=3;
    server 127.0.0.1:8001;
    server 127.0.0.1:8002;    
    server 127.0.0.1:8003;
  }

  server {
    listen 80;
    server_name www.domain.com;
    location / {
      proxy_pass http://myproject;
    }
  }
}

Redis

Saniyede 20 sorgu

Node.js için ter yok. Deli hızlı :) çünkü veri deposuna olarak redis kullanmalısınız. node_redis kullandığınızda, düğüm için bir c kütüphanesi bile var.

npm install hiredis redis

Hiredis C iç düğüm kodu derler, çünkü sen sağlam performans verir. Burada hiredis ile kullanıldığında redis bazı kriterler.

PING: 20000 ops 46189.38 ops/sec 1/4/1.082
SET: 20000 ops 41237.11 ops/sec 0/6/1.210
GET: 20000 ops 39682.54 ops/sec 1/7/1.257
INCR: 20000 ops 40080.16 ops/sec 0/8/1.242
LPUSH: 20000 ops 41152.26 ops/sec 0/3/1.212
LRANGE (10 elements): 20000 ops 36563.07 ops/sec 1/8/1.363
LRANGE (100 elements): 20000 ops 21834.06 ops/sec 0/9/2.287

Bu rakamlardan sonra baktığınızda 20/sHiçbir ŞEY:).

Kimlik doğrulaması


Güncelleme:


Bunu çok söylüyorum ama Allah aşkına lütfen kendi kimlik doğrulama sistemi uygulamak için çalışmayın. Muhtemelen güvensiz(bir terslik olabilir), bir sürü iş olacak. Kullanmanız gereken kimlik doğrulama facebook-bağlanmak için oturum açma, vb tek connect-auth mükemmel kitaplığı twitter kullanıyor. O zaman uzmanlar da düz metin üzerinden şifreleri iletim yok ama Tanrı kullanmak için teşekkür açma-sistemleri delikler ve https test çünkü güvenli kaplıdır. Ben de facebook-connect kullanmak isteyen bir kullanıcı için bir konu verdi.

giriş Veri Doğrulama

Giriş doğrulamak için node-validator kullanabilirsiniz.

var check = require('validator').check,
    sanitize = require('validator').sanitize

//Validate
check('test@email.com').len(6, 64).isEmail();       //Methods are chainable
check('abc').isInt();                               //Throws 'Invalid integer'
check('abc', 'Please enter a number').isInt();      //Throws 'Please enter a number'
check('abcdefghijklmnopzrtsuvqxyz').is(/^[a-z] $/);

//Sanitize / Filter
var int = sanitize('0123').toInt();                  //123
var bool = sanitize('true').toBoolean();             //true
var str = sanitize(' \s\t\r hello \n').trim();      //'hello'
var str = sanitize('aaaaaaaaab').ltrim('a');        //'b'
var str = sanitize(large_input_str).xss();
var str = sanitize('<a>').entityDecode();     //'<a>'

Ayrıca, form oluşturmanıza yardımcı olacak forms Bu kütüphane.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Christopher Bill

    Christopher

    30 NİSAN 2009
  • Sergio Fernandez

    Sergio Ferna

    1 EKİM 2009
  • Whizzpopping

    Whizzpopping

    10 Kasım 2005