Giter Site home page Giter Site logo

Remoting actor about zio-actors HOT 4 CLOSED

zio avatar zio commented on May 21, 2024
Remoting actor

from zio-actors.

Comments (4)

mtsokol avatar mtsokol commented on May 21, 2024 1

@softinio @mijicd Sure, I also think that we can close this issue as you explained.

from zio-actors.

mtsokol avatar mtsokol commented on May 21, 2024

@jdegoes @mijicd Hi, I'm thinking about trying to start it.

Recently I've been working on zio-nio mdoc microsite and did a draft use case page "remoting zio actors" with stub remote actors and sending messages via AsynchronousSocketChannel.

I've looked into akka-remote and akka-typed and have some thoughts right now, mostly based on them.

So for zio-remote there would be to do:

  1. Introduce ActorSystem that takes as parameter some Stateful (like akka-typed because it's also an actor) with optional arguments host and port (or defined in application.conf), that if present it opens internal ServerSocketChannel that listens on messages.
  2. Make actors spawning possible only within an actor (actor will contain context for spawning actors like akka-remote. Every spawn will also register in context (ActorSystem) so the incoming messages can be routed across actor tree)
  3. All actors have to be named
  4. Like akka-remote let's give to ActorSystem (so as well to context) an actorSelection(uri: String) method for creating stubs for remote actors. Internally it opens SocketChannel for sending messages to some remote ActorSystem for some actor name (like "zio.tcp://[email protected]:2552/myActor1").
  5. As mentioned there will be serialization module, like in akka.serialization but I'm still diving into it. The middleware protocol would send a tuple (message, actorName) so after ActorSystem receives messages it also gets target actor, which can be found if registered via context.

Is it doable? Is such design acceptable?

from zio-actors.

softinio avatar softinio commented on May 21, 2024

@mtsokol Is this issue still relevant?

from zio-actors.

mijicd avatar mijicd commented on May 21, 2024

I vote for closing this one, as we have basic remoting in place. More specific issues should be opened for tackling some deficiencies in the current implementation, but the foundation is there.

@mtsokol what do you think?

from zio-actors.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.