Giter Site home page Giter Site logo

Durable messaging about ion HOT 2 CLOSED

ionorg avatar ionorg commented on May 2, 2024
Durable messaging

from ion.

Comments (2)

 avatar commented on May 2, 2024

Had a look at the Protoo repo. Its light, simple and fast.

I don't know if this is helpful OR if your happy for the system to just be able to be used for Chat and nothing else, but i will point of the issues that i see.

Your presuming no network partitions will occur currently. No Durability server side.
You have designed the Use case semantics around Rooms.

My 2 cents :) :

  1. Adopt a Namespace rather than room, because the namespace is much easier to reason about in terms of all data and multi party synchronisation. Basically, it can be used for any data and not just rooms.
  2. Because of message propagation delays / partitions, you need durable, at least once. Basically a message Broker. Centrifugo uses Redis and NATS, and does at least have a namespace, but is a messy system currently. Maybe also look at Resgate ( https://github.com/resgateio/resgate). It uses a namespace approach. The way the data collections are used is very nice because its holding the data as denormalized structures. This makes it very easy to do subscriptions to many clients.

Also because Dart FFI is now going ahead well, you can compile the golang client code to a c shared lib and call it directly from the Flutter Dart code without going through the Swift or java layers.
In this way the only thing really at the Dart level is the GUI and the Data - All transport aspects are in the golang. I have used this for many flutter and golang combined projects and for me it make all the transport and network code much more resilient because its golang on the client and Server.

from ion.

adwpc avatar adwpc commented on May 2, 2024

Very good suggestions! Thanks!

  1. Maybe channel is better than room, Someone cat sub streams/signals from two different channels.
  2. Think about signal history record, I will consider it

from ion.

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.