Cześć,
korzystacie z Reddita? Ostatnio mu się przyglądam i jedna rzecz bardzo mnie zaskoczyła. Liczba łapek obok wpisów zmienia się z każdym odświeżeniem. Ostatnio miałem np. 6 łapek w górę, po odświeżeniu cztery, po kolejnym odświeżeniu znowu 6, następnie 5, 4, 4, 6 itd. Nie rozumiem tego, bo przecież ocenami Reddit stoi.
Czy w popularnych serwisach aż tak trudno jest utrzymać spójność danych między odświeżeniami? Czy to niedbalstwo ze strony Reddita czy konieczność?
A może po prostu po drodze, przy takiej oglądalności, były dodawana i odejmowane łapki?
A jeszcze moze takie tematy powinny byc na Hydepark? Przenosze
Przepraszam - wiem, że do Przedszkola to nie pasuje. Mea puchatkowa culpa.
Viking - nie ma szans. To był jakiś komentarz zakopany wśród innych.
Czasami nie warto zawracać sobie głoy takimi detalami. Może to być wynik z rozproszenia danych, jakiejś desynchronizacji, wyliczania iloości poprzez estymowanie itd itd.
To wygląda na klasyczny przypadek architektury rozproszonej i problemy CAP(Consistency, Availability, Partition tolerance). Przyjęto tam zapewne model BASE i spójność końcową (Eventual consistency). To samo da się zaobserwować na allegro, w zależności na którego noda trafimy taką pokazuje ilość sprzedanych produktów itd. W wielu przypadkach bardziej opłaca się wybrać dostępność kosztem spójności, ale o tym przeważnie decyduje jakiś ekspert domenowy W przypadku takiego reddita, lepiej pokazać jest nie do końca świeże dane, w końcu kiedyś wszystkie nody się zaktualizują, niż kazać czekać użytkownikowi aż wszystkie nody będą zsynchronizowane, w końcu jeden czy dwa glosy w górę czy w dół nie zrobią takiej dużej różnicy, oczywiście mogli by przyjąć model gdzie piszą do wszystkich i dopiero jak otrzymają potwierdzenie to czytają, ale to wpływa potem na wydajność, generalnie to wygląda tak:
spójność:
silna: W + R > N
słaba: W + R <= N
N - liczba nodów(węzłów) klastra
W - węzły uczestniczące w zapisie
R - węzły uczestniczące w odczycie
Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)