-
-
Notifications
You must be signed in to change notification settings - Fork 449
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for message abstraction layer on top of hypercore #826
Comments
@mafintosh some first input.. I presented vert.x before as a good case study, and I will do so again for message-based system design, and blurt out some thoughts along with it. Vert.x is message-based and has the concepts of a distributed event bus and event bus bridges. Officially supported toolkit modules are a TCP Eventbus Bridge, a Camel Bridge, a SockJS Proxy Service, and various community-offered bridge implementations (another SockJS impl, ZeroMQ, AMQP - Kafka bridge, Saltstack bridge, server-sent events bridge) They've kept their message design as simple as possible. The event bus supports 2 communication modes:
On the wire protocol level everything is a Frame:
Only the following 4 frame types exist:
The
The Some thoughts:
Finally, if Dat message format is only in the slightest way compatible to what Vert.x now has, you easily write an event bus bridge impl. for it, and Dat will now have added a whole ecosystem and dev community to their base! |
This sounds great. I'd agree with mafintosh that it'd be nice to see this implemented on top of hypercore. I'm closing this as it is not related directly to the Dat CLI. Feel free to open an issue in our discussions repo for further discussion on this: https://github.com/datproject/discussions |
Thanks. I put this intentionally in this project, because it has the highest visibility (watchers) and thus chance to get good feedback. (in the discussions project last issue is 1 year old, 33 watchers vs. 300 watchers) |
I just discussed with @mafintosh my recent proposal to add a message abstraction on top of hypercore as a supported part of the Dat ecosystem, effectively turning it into a full message-based application platform.
You can read the proposal in this particular comment on the vision/future thread: #824 (comment)
After some back and forth @mafintosh agreed on the benefits of providing a tiny messaging library, and define some standard message formats.
Hereby the details of that freenode chat:
Any additional feedback on this topic is most welcome!
The text was updated successfully, but these errors were encountered: