А как Вы добавите в ваш шардинг новые ноды? Что будите делать, если нагрузка на одну из нод окажется существенно больше нагрузки на любую другую?
Вот поэтому я не доверяю очевидным пятиминутным решениям, сделанным самостоятельно, и ищу готовые, проверенные временем. Конечно, если такие есть. 6 марта 2012 г. 0:56 пользователь Alexandr Gomoliako <[email protected]>написал: > On Mon, Mar 5, 2012 at 3:33 AM, Alexandr Alexeev <[email protected]> > wrote: > > Как я понял, этот модуль представляет собой уровень абстракции над > репликами > > и шардингами. В гугле можно найти упоминания DBIx::DBCluster, но его нет > ни > > на CPAN, ни на metacpan. Не знает ли уважаемый All, что с ним случилось и > > есть ли ему замена? > > Шардинг можно за 5 минут сделать самому. Например: > > # Список нод для шард от 0 до F > %SHARDS = ( '0' => ['192.168.0.2:8000'], ... 'f' => ['192.168.0.2:8001'] > ); > > $key = '/hello'; > $nodes = $SHARDS{ substr md5_hex($key), 0, 1 }; > > Можно и по репликам сразу распределить, если надо: > > $node = $nodes->[ hex (substr md5_hex($key), 9, 1) % @$nodes ]; > > Я не думаю, что кто-то осмелится надеяться на чужие модули для этого :) > Да и о фейловере надо самому заботиться, особенно, если блокирующее > приложение. Ему же надо как-то узнать, что какая-то нода упала. > -- > Moscow.pm mailing list > [email protected] | http://moscow.pm.org > -- С уважением, Александр Личный блог: http://eax.me/ Мой форум: http://it-talk.org/ Мой Twitter: http://twitter.com/afiskon
-- Moscow.pm mailing list [email protected] | http://moscow.pm.org
