Shard Fonksiyon / (tutarlı karma) dağıtmak?

0 Cevap php

Ben farklı sunucular arasında yüklenen dosyaları shard için biraz hafif tutarlı-karma-benzeri PHP işlevi yapma konusunda biraz düşündüm.

Açıkçası, rand () biraz eşit sunucuları arasında dosyaları dağıtmak için çalışacak, ama dosyaları isterken, kimse ne sunucu üzerinde yatıyor hangi dosya bilecek ...

Biraz geniş kütüphaneleri tutarlı-karma oluşturmak için orada olduğunu biliyorum, ama ben kendi, çok hafif bir rulo nasıl yapabilirim bu çalışmalar ve nasıl acaba?

Not: Ben sunucular silinecektir dikkate almayın, ancak bunun yerine daha olanları ileride havuzuna eklenir.

Update:

İşte psuedocode hızlı bir çizgi:

$config['shards'] = array('192.168.1.1, 192.168.1.2');

function shard ($filename) {

    $servers = $config['shards'];

    // do lookup in some magic way to decide which server to return.

    return $appropriateserver;
}


echo shard('filename.jpg'); // returns the appropriate server to distribute the file.

0 Cevap