Когда в базе 1.3 млн. контактов компаний по всей России, неудивительно, что её периодически кто-то пытается распарсить. Здесь возникает проблема: как отличить добропорядочных пользователей от ботов?
В своем докладе мы расскажем, как эволюционировала наша система защиты от парсинга. Мы рассмотрим следующие этапы и подходы:
— особая локация в Nginx;
— PHP + Redis (счетчик по ключу);
— Nginx + Redis (конфигурационный файл);
— Nginx + Lua + Redis : усложнение логики защиты без снижения скорости ответа.
Также мы собираемся рассказать про язык Lua в связке с Nginx не только в случае защиты от парсинга, но и в других частых кейсах, когда не хочется «поднимать» тяжёлое основное приложение.
Справочный API 2ГИС — крупнейший REST API в Рунете.
Более 300 партнёров, среди которых 2ГИС-Онлайн, Mail.ru, НГС, Е1.ru. Месячная аудитория — 14 млн.
Сервис предоставляет информацию об 1.3 млн. фирм и 1.8 млн. POI в 200 городах России, Падуе (Италия), нескольких городах в Украине и Казахстане.
26. 26
Lua: считаем RPS
0 .i = n x v r r m t _ d r
1 p
g.a.eoead
0 .r s = n x s a e . P : n r i , 1
2 p
g.hrdRSic(p )
0 .i r s > X t e
3 f p
hn
0.
4
nxsae.ANDsti,1
g.hrdBNE:e(p )
0.
5
nxei(4)
g.xt44
0 .e d
6 n
27. 27
Lua: смотрим динамику
0 .f r i = - 0 0 d
1 o
6,
o
0.
2
- сормдны вхаиие
- мти ане
рнлщ
0.
3
- пииамршне
- рнме ееи
0 .e d
4 n
28. 28
Нагрузка в течение суток
Lua как поставщик данных
0 .l c t o / e _ a _ u s {
1 oain gtbdgy
0.
2
cnetb_u '
otn_yla
- оде дны и хаииа
- там ане з рнлщ
0.
3
0.
4
0 .}
5
'
;
42. 42
Результат
В связи с временными техническими проблемами онлайн-версии
2GIS, мы решили предложить Вам выгодные условия по
приобретению нашей программы: успейте купить парсер организаций
2GIS по цене 2000 рублей вместо 4000 рублей
43. 43
Просто и быстро
Используйте простые скриптовые языки в связке с NginX с
алгоритмами анализа статистики в реальном времени.