![]() | This is not a Wikipedia article: It is an individual user's work-in-progress page, and may be incomplete and/or unreliable. For guidance on developing this draft, see Wikipedia:So you made a userspace draft. Find sources: Google (books · news · scholar · free images · WP refs) · FENS · JSTOR · TWL |
Load sharding jest metodą load balancingu, która polega na tym, że load balancer nie tylko wie jaki request ma do przeproxowania/przebalancowania ale także wie jakie dane się w nim znajdują.
Załóżmy, że mamy sobie 10000 shardów DB, 10000 maszyn typu worker i przed nimi load balancer.
Każdy worker "gada" z każdą bazą... młyn.
Znane metody loadbalancingu tego nie ogarniają... i tu pojawia się load sharding, jako połączenie loadbalancingu oraz shardowania.
Load balancer tak kieruje ruchem, żeby requesty trafiające do workera numer 2 (na przykład) wymagały od tego workera "łączenia" się tylko z shardem 2, czyli load balancer do rozkładania ruchu na workery używa takiej samej funkcji jak worker przy odnajdywaniu sharda.
W ten sposób minimalizujemy liczbę połączeń (jeden worker "gada" z jednym shardem). Oczywiście worker 2 i shard 2 to umowne nazwy "grup" (bo nie chcemy miec tu SPOF).
Oczywiście zostaje nam pula workerów, która musi czasem wykonać cross-shard queries...
References
editExternal links
edit