On 10.10.2011 10:27, Bartek Swedrowski wrote:
A ja zrobiłem to jeszcze inaczej - nie chcieliśmy wszystkiego puszczać przez Squida jako że takowego nie mieliśmy i nie chcieliśmy mieć w sieci. Kolejna rzecz do pilnowania - po co.
Regułki DNAT przy ok 1000 klientów zaczynają robić się dosyć męczące i ciężkie do jakiegokolwiek debuggingu.
Za to od razu mieliśmy serwery DNS w sieci, do których dodaliśmy kolejny "view" do którego kierowane są zapytania tylko z adresów IP klientów którzy mają włączone powiadomienia. Lista IPeków to nic innego jak plik tekstowy który jest includowany i regenerowany co 5 min na podstawie 1 zapytania SQL.
Oczywiście od razu widać tutaj duży minus - w zależności od rekordów TTL i co jest zcachowane po stronie klienta, klienci nie od razu zobaczą powiadomienia - zależy jakie strony oglądają bądź jakie rekordy odpytują (też teoretycznie inne usługi mogą przestać działać, np. poczta jako że przykładowo rekord imap.gmail.com [1] ma tylko 300 sekund TTL). Ale w praktyce działa to bardzo fajnie, przede wszystkim "strona" z powiadomieniem nie jest DoSowana w momencie w którym wyślesz powiadomienia do klientów a ludzie którym coś tam przestaje działać, od razu sprawdzają czy coś w przeglądarce działa i widzą powiadomienie. Klikają "przeczytałem" i dostają licznik czasu w dół od 5 minut - bardzo efektowany "wkurzacz" podbijający termin płatności ;-)
Poczytaj o ipset.