Мгновенный автокомплит для 240 миллионов доменных имён: p99 0 мс*
P99 0 ms* autocomplete for 240M domain names
Автор, создатель Wirewiki, объясняет, как добился практически нулевой задержки автокомплита для 240 миллионов доменных имён. Секрет — в предварительной выборке на стороне клиента и двухуровневой структуре данных: in-memory trie для популярных доменов и memory-mapped блочный индекс для остальных. Нагрузочное тестирование показало, что API отвечает за 2 мс даже при 1600 запросах в секунду. Остаётся одна проблема — географическая: для пользователей из США задержка превышает бюджет из-за расстояния до сервера в Европе.
p99 0 мс означает, что в 99% случаев результаты будут готовы раньше, чем пользователь отпустит клавишу.