Здравствуйте, dmz, Вы писали:
Забавно выбирать lighttpd для скорости, а потом всё сделать на Питоне
БД тоже не очень, честно говоря. Учитывая репликациии, лучше Оракл взять.
Протокол неоптимальный. Job ID надо возвращать только если результатов нет в кеше. Если результаты есть в локальной БД их надо возвращать сразу. Лучше делать не Job ID, а Query ID. Если несколько клиентов попросят одно и то же, запрос данных извне произойдёт только один раз. Плюс можно будет отслеживать популярность запросов и удалять из кеша самые непопулярные.
То что бекенды работают с разными БД — это плохо, кеш запросов у них будет разный. Лучше сделать БД-кластер.
Запрос отменять по таймауту клиента не стоит, подключиться опять тоже самое попросит ведь. Уж лучше пусть ляжет в кеш.