Wyobraź sobie następujący scenariusz: Załóżmy, że masz centralny komputer, który generuje dużo danych. Dane te muszą zostać przetworzone, co niestety trwa dłużej niż ich wygenerowanie. Aby przetwarzanie mogło nadążać za czasem, podłączamy więcej komputerów podrzędnych.
Ponadto musimy wziąć pod uwagę możliwość wypadnięcia urządzeń podrzędnych z sieci w trakcie pracy, a także dodania dodatkowych urządzeń podrzędnych. Komputer centralny powinien upewnić się, że wszystkie zadania zostały zakończone w sposób satysfakcjonujący, a zadania odrzucone przez urządzenie podrzędne są przekierowywane do innego.
Główne pytanie brzmi: jakie podejście powinienem zastosować, aby to osiągnąć?
Ale być może poniższe informacje pomogłyby mi znaleźć odpowiedź: czy istnieje nazwa lub wzorzec projektowy tego, co próbuję zrobić?
Jakiej dziedziny wiedzy potrzebuję, aby osiągnąć cel polegający na tym, aby komputery te mogły ze sobą rozmawiać? (np. czy baza danych, o której mam trochę wiedzy, będzie wystarczająca, czy będzie to obejmowało gniazda, o których jeszcze nie mam wiedzy?)
Czy są jakieś przykłady takiego systemu? Główne pytanie jest nieco ogólne, więc dobrze byłoby mieć punkt początkowy / punkt odniesienia.
Uwaga: Zakładam ograniczenia c ++ i okien, więc rozwiązania wskazujące w tym kierunku będą mile widziane.