srieger1 / digsinet

multiple twins (siblings) of a network topology (e.g., based on containerlab) with continuous data exchange
https://srieger1.github.io/digsinet/
5 stars 0 forks source link

Implement Event Streaming #19

Open Lachstec opened 1 month ago

Lachstec commented 1 month ago

The current version uses basic python message queues as exchange medium between siblings. Although it was convenient for the proof of concept, a more robust event streaming platform would be valuable.

TODO

S-Schickentanz commented 1 month ago

Interface Design:

Lachstec commented 3 weeks ago

I made a branch and added the interface as described here. Feel free to make changes to it as you see fit.

Lachstec commented 3 weeks ago

It could be useful to factor out the sibling creation into a separate module / class / whatever. The creation would get a bit more specific to the underlying message broker and it could get messy if that is implemented in the main file.

srieger1 commented 2 weeks ago

@Lachstec good point... that's somehow what I meant when I said, that it might be interesting to have both, a message queue (like Rabbit) for tasks (e.g., creation and control of siblings) and an event-streaming (like Kafka) for state updates and synchronization. However, this increases complexity and maybe we don't want/need that.