Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Jak oni to robią? Na przykładzie wp.pl
parzol
post 20.12.2012, 22:03:59
Post #1





Grupa: Zarejestrowani
Postów: 135
Pomógł: 1
Dołączył: 7.05.2005

Ostrzeżenie: (0%)
-----


Witajcie.

Zastanawia mnie jedna sprawa pod kątem optymalizacji budowy serwisu WWW. Weźmy przykładowo ten link. Przechodząc na sam dół do komentarzy mamy możliwość kliknięcia (bez logowania!) w łapkę do góry albo w dół. Wszystko jasne i proste. Pytanie jaki najlepiej zastosować w tym wypadku mechanizm, aby zapamiętać że dany user kliknął w konkretny już komentarz i oddał swój cenny głos (który oddać można tylko raz). Czy zastosowanie tutaj samego cookies ma sens? Czy lepiej oprzeć to na bazie danych (co z wydajnością?) czy też może jakaś hybryda? Jestem ciekaw waszych opinii i rad na ten temat.

Pozdrawiam.
Go to the top of the page
+Quote Post
Damonsson
post 20.12.2012, 22:19:31
Post #2





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Standardowa odpowiedź: To zależy.

Tutaj są wykorzystane tylko cookies. Jak zależy Ci na unikalnych głosach, musisz to rozbudować, sprawdzanie ip, przeglądarki i innych głupot które składają się na unikalność użytkownika. Musisz to trzymać w bazie, bo cookies każdy może usunąć. Jest jeszcze coś takiego jak everCookies.
Go to the top of the page
+Quote Post
parzol
post 20.12.2012, 22:30:43
Post #3





Grupa: Zarejestrowani
Postów: 135
Pomógł: 1
Dołączył: 7.05.2005

Ostrzeżenie: (0%)
-----


Cytat(Damonsson @ 20.12.2012, 22:19:31 ) *
Tutaj są wykorzystane tylko cookies. Jak zależy Ci na unikalnych głosach, musisz to rozbudować, sprawdzanie ip, przeglądarki i innych głupot które składają się na unikalność użytkownika. Musisz to trzymać w bazie, bo cookies każdy może usunąć.


Skąd wiesz, że tutaj tylko cookies jest? Nie zależy mi strasznie na tym by to było super bezpieczne więc kwestia tych paru % osób, które usuną cookies by zagłosować raz jeszcze mi nie przeszkadza. Bardziej ważna jest dla mnie wydajność. Takie wp.pl ma pewnie masę userów w jednym czasie i pytanie co z takimi co oddają masę głosów. Czy wtedy cookies nie będzie wąskim gardłem?
Go to the top of the page
+Quote Post
Damonsson
post 20.12.2012, 23:13:01
Post #4





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Cytat
kwestia tych paru % osób, które usuną cookies by zagłosować raz jeszcze mi nie przeszkadza

Więc możesz spokojnie stosować samo cookies. Nie, cookies nie będzie wąskim gardłem aplikacji.
Go to the top of the page
+Quote Post
herakles007a
post 21.12.2012, 23:04:52
Post #5





Grupa: Zarejestrowani
Postów: 0
Pomógł: 0
Dołączył: 11.09.2012

Ostrzeżenie: (0%)
-----


Cytat(parzol @ 20.12.2012, 22:30:43 ) *
Skąd wiesz, że tutaj tylko cookies jest? Nie zależy mi strasznie na tym by to było super bezpieczne więc kwestia tych paru % osób, które usuną cookies by zagłosować raz jeszcze mi nie przeszkadza. Bardziej ważna jest dla mnie wydajność. Takie wp.pl ma pewnie masę userów w jednym czasie i pytanie co z takimi co oddają masę głosów. Czy wtedy cookies nie będzie wąskim gardłem?


A jak kto wyłączy sobie ciasteczka i kliknie tysiąc razy, albo i 10 tyś. Nie ma letko!
Go to the top of the page
+Quote Post
Pilsener
post 21.12.2012, 23:53:43
Post #6





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


Używaj tego, czego potrzebujesz

1 Linia - użytkownik nie kliknie dwa razy, bo jest mądry i gra fair businesssmiley.png
2 Linia - JS - mało kto wyłącza lub preparuje
3 Linia - ciacha
4 Linia - IP
5 Linia - IP + wszystko, co wysyła user
6 Linia - konto w serwisie nerdsmiley.png
7 Linia - głosowanie przez SMS Lkingsmiley.png
Go to the top of the page
+Quote Post
ano
post 22.12.2012, 14:03:56
Post #7





Grupa: Zarejestrowani
Postów: 435
Pomógł: 40
Dołączył: 16.02.2003
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Cookies + trzeba oczywiście po stronie backendu trzymać info, że ten ktoś zagłosował - najlepiej jakiś memcache/redis.
Więc prawdopodobnie cały proces głosowania odbywa się za pomocą:
Cookies, php (lub inny język), mysql (lub inna baza), memcached (lub inny "RAM")


--------------------
Linkedin | ...
Go to the top of the page
+Quote Post
daniel1302
post 23.12.2012, 15:49:06
Post #8





Grupa: Zarejestrowani
Postów: 602
Pomógł: 30
Dołączył: 1.08.2007
Skąd: Nowy Sącz

Ostrzeżenie: (0%)
-----


Tylko takim wielkim stronom ja WP czy Onet nie zależy na wydajności kodu jak np tobie, bo różnica jest taka, że oni mogą pozwolić sobie na zapłacenie 200 zł czy nawet 2000 zł więcej za dodatkowe procesory czy ram do ich strony.

Np daj sobie traceroute(tracert w windows) do różnych adresów IP onetu. I zauważ, że oni na wejściu serwisu mają jakiś router który(tak myślę) sprawdza który komputer ma najmniejsze obciązenie w danym czasie i do niego cię przerzuca. A mają pewnie 1 albo zdublowane miejsce z danymi i bazą.
Go to the top of the page
+Quote Post
O$iek
post 23.12.2012, 16:11:07
Post #9





Grupa: Nieautoryzowani
Postów: 45
Pomógł: 16
Dołączył: 28.02.2009

Ostrzeżenie: (0%)
-----


Przy tego typu serwisie na pewno korzystają z load balancingu, mają ludzi, którzy są odpowiedzialni za optymalizację, itd., itp. Mam tylko prośbę, żeby nie opowiadać jakichś dziwnych historii, bo potem ktoś o zerowej wiedzy, to przeczyta i zaczyna puszczać dalej w świat.
Go to the top of the page
+Quote Post
ano
post 23.12.2012, 16:14:12
Post #10





Grupa: Zarejestrowani
Postów: 435
Pomógł: 40
Dołączył: 16.02.2003
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


@Daniel
Ad 1.
Jesteś oczywiście w błędzie - zarówno małym jak i dużym serwisom tak samo zależy na niskopoziomowej wydajności kodu. (A przynajmniej powinno!)
Polecam poczytać artykuły z www.whoisusing.it, które pomogą Ci się dowiedzieć "kto z czego korzysta"
Przykładowo, jedni z "największych":
http://whoisusing.it/website/facebook
http://whoisusing.it/website/youtube

Ad 2.
Myślę, że architektura fizyczna tych serwisów nie jest w zakresie pytania @Parzol'a
ale poczytaj Danielu to: http://en.wikipedia.org/wiki/Load_balancing_(computing) myślę, że powinno Ci to pomóc "wejść" w te tematy :-)


--------------------
Linkedin | ...
Go to the top of the page
+Quote Post
parzol
post 23.12.2012, 16:45:08
Post #11





Grupa: Zarejestrowani
Postów: 135
Pomógł: 1
Dołączył: 7.05.2005

Ostrzeżenie: (0%)
-----


A może po prostu będę to obsługiwał za pomocą MySQL'a? Dodatkowa tabela, która zapisuje zalogowanych i niezalogowanych (po IP + przeglądarce) użytkowników wraz z ID komentarza. I potem sprawdzanie czy był oddany głos czy też nie. Co sądzicie o takim rozwiązaniu? Ma to sens czy będzie wąskim gardłem?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 18.07.2025 - 21:34