Cześć, znacie jakies podobne narzędzia podobne do akka? Interesuje mnie tworzenie aplikacji rozproszonych odpornych na błędy czyli tworzenie klastrów. Będę wdzięczny za każde info.
Akka nie ponieważ?
nie że nie. Tylko poszukuję podobnych rozwiązań, chce się po prostu dowiedzieć jakie są rozwiązania podobne do Akka. Akka nie jestem mi jeszcze znana jadnak chche to zmienić również chce zobaczyć konkurencyjne bądź podobne rozwiązania.
dzięki za ten namiar na wiki. Tak troche z innej strony pytanie, czy programowanie z wykorzystaniem agentów można zaliczyć do robienia aplikacji klastrowych? Chodzi mi o to że piszemy aplikację która musi ciągle działać mimo jakiś awari jednej z maszyn itp. Wtedy robimy klaster czyli X powielonych maszyn robiacych to samo i komunikujących się. To czy korzystając z jakis wybranych narzędzi wspierających model oparty o aktorów idziemy w kierunku robie włąsnie tego typu klastrów. Czy to są 2 różne dziedzyny. Ze klaster swoją drogą a programowanie z agentami swoją. Jeśli napisałem coś totalnie z "d**y" to był bym niezmiernie wdzięczny za naprostowanie mojej wizji.
To jest to samo, ale na innym poziomie abstrakcji. Klaster zapewnia replikację na poziomie sprzętowym - możesz przeżyć sytuację gdy coś się rozwali w serwerowni, albo jakiś JVM będzie miał zły dzień..
Programowanie z wykorzystaniem agentów pozwala na po pierwsze zrównoleglenie obliczeń, a po drugie na ich powtórkę w przypadku gdy jeden z agentów wybuchnie. To jest bliższe programowaniu wielowątkowemu i co najważniejsze ułatwia je. To, że Akka sobie zarządza jakimiś aktorami zdalnymi ("na innej maszynie" - w rzeczywistości jak każdy serwer wystarczy system zdalny odpalić na innym porcie) tylko ułatwia pisanie aplikacji, które mają działać w środowisku z wieloma maszynami (niekoniecznie spiętymi w klaster). Zatem jak chcesz coś sobie klastrować i obliczenia można zrównoleglać to rozwiązania agentowe pozwolą na opanowanie w sumie dowolnie dużej struktury (oczywiście z założeniem, że świat jest idealny soft nie ma bugów).
Dzięki wielkie za wyjaśnienie. Jednak gdy chcę zapewnić nieprzerwane działanie aplikacji mimo jakiś wypadków sprzętowych to wtedy działam na klastrach fizycznie a program piszę w oparciu np. o akka lub podobne narzędzie?
Nie, klaster fizyczny to kolejna warstwa, na niej "leży" klaster softowy np. kilka tomcatów czy jbossów. Akka ma za zadanie ułatwić pisanie pewnych aplikacji, które będzie trzeba skalować.
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.