2012-07-04 10 views
8

Z czystej perspektywy, przypominają one identyczne koncepcje. Oba zarządzają zestawami reosurces/nodes i kontrolują ich dostęp z zewnętrznych komponentów lub z nich.Różnica między pulą a klastrem

Za pomocą puli pożycza się i zwraca te zasoby/węzły do ​​iz puli.

W klastrze masz moduł równoważenia obciążenia znajdujący się przed zasobami/węzłami, a użytkownik wysyła żądanie równoważenia obciążenia.

W obu przypadkach nie masz absolutnej kontroli nad tym, do którego zasobu/węzła zostanie przyporządkowane Twoje żądanie/wypożyczenie.

Stawiam więc pytanie: jaka jest zasadnicza różnica między wzorem "puli" a klastrem równoważącym obciążenie?

Odpowiedz

12

Pula służy do unikania ciągłego tworzenia i niszczenia zasobów, które są kosztowne w tworzeniu. Zasobu z puli może używać tylko jeden klient naraz. Dostępne zasoby są przechowywane w puli. Kiedy go potrzebujesz, dostajesz go z puli, dzięki czemu jest niedostępny dla innych klientów. Kiedy skończysz z zasobem, odkładasz go z powrotem do puli. Pule są zwykle używane do połączeń z bazami danych i wątków. Kolejną zaletą jest to, że pozwala utrzymać odpowiednią ilość zasobów (połączeń, wątków) do rozsądnego maksimum.

Klaster to zbiór węzłów (komputerów, maszyn wirtualnych), który umożliwia obsługiwanie większej liczby równoczesnych klientów (skalowalność) i unikanie pojedynczego punktu awarii (przełączanie awaryjne, nadmiarowość). Zwróć też uwagę, że load balancery niekoniecznie są losowe. W wielu przypadkach system równoważenia obciążenia wykorzystuje sesje klejące: po przypisaniu klienta do węzła klastra wszystkie jego kolejne żądania trafiają do tego samego węzła.

Cele nie są zatem takie same dla puli i klastra. A zasoby przechowywane w puli nie są tego samego rodzaju co zasoby klastra.