CDN dağıtım PHP algoritması [kapalı]

0 Cevap php

IGNORE THE QUESTION:

The CSS File I was including pulled in the the other files hence the correlation *facepalm*


Biz dosya başına bir CNAME CDN ​​referans toplamak için aşağıdaki kodu var. Belirli bir dosya dayalı aynı URL her şey dönmelidir. Biz bu yeterince rastgele olacağını düşündüm:

<?php

  function cdn_prefix($fileName) {
    $number_of_servers = 4;

    $md5 = md5($fileName);

    $md5 = substr($md5, 0, 4);

    $hash_number = base_convert($md5, 16, 10);

    $server_number = ($hash_number % $number_of_servers) + 1;

    $server_prefix = '//static' . $server_number . '.' . $_SERVER['SERVER_NAME'];

    return $server_prefix . $fileName;
  }

?>

MD5: Ancak 3 numaralı lehine görünüyor

Ne olursa olsun ben ne (tuz, farklı üsleri, rastgele çarpma, vb) (ekran görüntüsü üzerinde) mainNavPipe aracılığıyla sonuçları headerBg hepsi aynı sayıda var.

Daha iyi bir algoritma var mı?

EDIT:

Here are the results using same algorithm using a SHA1 SHA1

Her yerde aynı işlevi çağırır - bu bütün URL döner ve sürece bu işlevi yoluyla statik [1-4] etki göstermek olmaz gibi.

(Test için) bir dizidir:

FILES = [
    '/a/files/image/250.jpg',
    '/a/files/image/244.jpg',
    '/a/files/image/247.jpg',
    '/a/css/global/core.css',
    '/a/css/global/print.css',
    '/a/img/global/new_logo.gif',
    '/a/img/global/book-a-free-survey.gif',
    '/a/img/global/make_an_enquiry.gif',
    '/a/img/global/purchase-locks-blue.jpg',
    '/a/files/image/251.jpg',
    '/a/img/global/bg.gif',
    '/a/img/global/headerBg.jpg',
    '/a/img/global/basketBg.gif',
    '/a/img/global/arrow.png',
    '/a/img/global/trolley.gif',
    '/a/img/global/mainNavBg.gif',
    '/a/img/global/mainNavCurrentBg.gif',
    '/a/img/global/mainNavPipe.gif',
    '/a/img/common/sectionNavBg.jpg',
    '/a/img/global/nav_arrow.gif',
    '/a/img/global/footerBg.jpg',
    '/a/img/global/footerCopyrightBg.jpg',
    '/a/img/global/footerLogo.jpg'
]

0 Cevap