influx6 / actorkit

Simple yet powerful actor model in golang for message passing based applications [Work in Progress]
MIT License
20 stars 2 forks source link

RabbitMQ (AMQP) #8

Open influx6 opened 5 years ago

influx6 commented 5 years ago

RabbitMQ PubSub Comm Bridge

In accordance with the implementation plan, we require the implementation of actorkit messaging communication using RabbitMQ pubsub infrastructure as the other queue and delivery mechanism system.

The idea is the use of the infrastructure not as in it's general pubsub nature but as a bridge which allows disparate actor system to easily and efficiently communicate with each other using a created custom Actor router which sits as the central communication link between the actor system and the infrastructure.

This is also a hard requirements for the development of the Grain Master Actors (See #1)

Design

The RabbitMQ PubSub Hashed Router

We will require the use of a hash router which will receive subscription messages from other actors about a giving event subject they have interests in, this will be hashed and use as the means of delivery to all interested actors.

This notion applies even when a actor system is only interested in all messages using the * subject.

The notion is to remove the need for individual actors with individual or shared infrastructure connection objects which will be communicated with.

sleipnir commented 1 month ago

Very good. At Spawn we use a similar design based on Nats to allow clusters of actors to still communicate with each other in an architecture similar to the Cell Architecture

influx6 commented 1 month ago

Yes, I think this makes sense, as time as gone over, even I agree NATS is the defacto standard.

Best Regards, Alex A. Ewetumo.

sleipnir commented 1 month ago

If you want to talk more about this kind of thing you can find me on the eigr server on discord https://discord.gg/X4Yk3ksg