Andy Melnikov (nponeccop) wrote,
Andy Melnikov
nponeccop

Жёлуди наносят ответный удар

У ноды over 9000 биндингов к gearmand.

Нашёл биндинги npm install abraxas, которые, о чудо,

а) разрешают множественное резервирование задач на одном коннекшене
б) имеют опцию "резервировать параллельно до Х задач"

Но теперь жопа в том, что протокол медленно работает по WAN: резервирование таски требует раундтрипа. Постановка в очередь, слава богу, не требует.

По протоколу воркер отправляет серверу пакет GRAB_JOB_UNIQ, и получает в ответ JOB_ASSIGN_UNIQ. Ну, и в биндингах сделано без пайплайнинга. Так, что если надо 10 тасок, то вместо отправки пачки 10 штук GRAB_JOB_UNIQ они шлются по одной, и каждый раз дожидается ответа.

В результате если 50 мс пинг - то можно получить не более 20 тасок в секунду.
Tags: programming
Subscribe

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments