Komunikacja serwer aplikacji <-> aplikacja rozproszona
Posted by michalr on 2011-02-22 15:13
Nie ma sensu rozmawiać na wiki, jak mamy tutaj forum :D
W każdym bądź razie, skoro nie trzeba wątków, to w jaki sposób odebrać wyniki działania aplikacji rozproszonej? Ona będzie czekała z wynikami, i wystarczy się do niej zgłosić w dowolnym momencie po nie, czy ona w pewnym momencie wysyła je w sieć i trzeba nasłuchiwać?
Poza tym nadal uważam, że ta część serwera aplikacji powinna działać w osobnym nawet nie wątku, ale procesie, aby np. odświeżanie stron nie było konieczne do przejścia kolejki dalej, poza tym umożliwiłoby to uruchomienie serwera WWW na maszynie prawie kompletnie odizolowanej od maszyn, które wykonują obliczenia (co jest plusem jeśli chodzi o bezpieczeństwo)
W każdym bądź razie, skoro nie trzeba wątków, to w jaki sposób odebrać wyniki działania aplikacji rozproszonej? Ona będzie czekała z wynikami, i wystarczy się do niej zgłosić w dowolnym momencie po nie, czy ona w pewnym momencie wysyła je w sieć i trzeba nasłuchiwać?
Poza tym nadal uważam, że ta część serwera aplikacji powinna działać w osobnym nawet nie wątku, ale procesie, aby np. odświeżanie stron nie było konieczne do przejścia kolejki dalej, poza tym umożliwiłoby to uruchomienie serwera WWW na maszynie prawie kompletnie odizolowanej od maszyn, które wykonują obliczenia (co jest plusem jeśli chodzi o bezpieczeństwo)
Home / Developer API / Tour / Get a Project - Solutions for Bug & Issue Tracking, Collaboration Tools, Subversion Hosting, Git Hosting
Kraina_muminkow is powered by Assembla.
1 Comments
By Rivenris on 2011-02-22 15:30
- Serwer zbiera zadania od użytkowników i ich konfigurację (rozmiar "mini instancji" itp)
- Master łączy się z serwerem zgłaszając gotowość odebrania kolejnego zadania
- Master dostaje zadanie (jeśli jakieś wisi)
- Slave po włączeniu odpytuje mastera czy ten ma dla niego jakąś robotę
- Slave robi swoje, a jak skończy, to pyta mastera o kolejną porcję roboty
- Master zapamiętuje które części zadania zostały wykonane i informuje serwer o postępie
- Serwer utrzymuje informacje ogólne o zadaniu w bazie danych i wysyła tą informację użytkownikowi gdy ten tego zażąda
Nie widzę potrzeby angażowania wielowątkowości/wielu procesów, chyba, że chcemy zrobić to tak aby serwer mógł jednocześnie obsługiwać kilka zapytań userów.