2012-02-21 14 views
5

Dostałem nogi mokre w Actor Oriented Programming z języka zwanego SALSA aktorów, która pozwala przenieść z jednego komputera do drugiego.Erlang/Scala Migracja Aktorzy z jednego węzła do innego

Zastanawiałem się, czy to było coś, co można zrobić przy użyciu Scala lub Erlang, które są dwa języki programowania zorientowanych aktora, które mają o wiele więcej pęd za nimi.

Jeśli któryś z tych języków obsługiwać tę funkcję, to proszę wskazać mi jakiś materiał, który odwołuje się jak zaimplementować coś takiego?

Odpowiedz

0

Jako wprowadzenie, przyjrzeć się bardzo ekscytujące Akka documentation. To zdecydowanie warte przeczytania. Być może możesz ponownie przemyśleć poruszających się aktorów z jednej maszyny na drugą, ponieważ akka robi to automatycznie przez konfigurację, o ile wiem.

3

Cóż, nie Erlang (AFAIK) pozwalają przenieść procesy (przynajmniej, PID jest przywiązany do węzła). Jeśli chcesz to zrobić dla konkretnej funkcji, możesz rozpocząć proces na innym węźle (używając na przykład rpc:call i funkcji otoki) i przekazać do niego stan.

oczywiście, że działa, jeśli zachować swój stan dookoła i nie ma w słowniku procesowego. Oczywiście, PID nowego procesu będzie inny, ale możesz, na przykład, pozostawić istniejący proces w zawieszeniu i przekazać wiadomości do nowego.

Powiązane problemy