You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Depending on the the threading model of an application using Aeron directly can be challenging.
Artery contains a very nice utility, TaskRunner, to handle the offering/polling on a single thead for many subscriptions / publications that we can expose for users (via a Source/Sink, not directly) wanting to use Aeron without changing the threading model of their application.
The internal implementation pools ByteBuffers but the public offered API could be typed to ByteString. The use case being for IPC/Inter service communication that is more efficient than most but users wanting maximum efficiency should stick to using Aeron directly.
An inital version could offer a new module that has:
AeronSink
AeronSource
Internal TaskRunner extension that is used by all user source/sinks and Artery if enabled.
Internal MediaDriver extesnion that could be come public that is shared with user source/sinks and Artery
Internal Aeron extension to manage only a single connection to the MediaDriver
I think we should do this before 2.6 as the configuration for the MediaDriver and TaskRunner would need to move to a namespace such as akka.aeron that the akka.remote.artery references. Or the extensions could load a configuration location and maintain one TaskRunner/MediaDriver per configuration location like we did for the Couchbase connection.
The text was updated successfully, but these errors were encountered:
chbatey
added
the
discuss
Tickets that need some discussion before proceeding. Not decided if it's a good idea.
label
Jan 25, 2019
patriknw
added
discuss-design
Design discussion would be good
and removed
discuss
Tickets that need some discussion before proceeding. Not decided if it's a good idea.
labels
Jun 16, 2019
Depending on the the threading model of an application using Aeron directly can be challenging.
Artery contains a very nice utility, TaskRunner, to handle the offering/polling on a single thead for many subscriptions / publications that we can expose for users (via a Source/Sink, not directly) wanting to use Aeron without changing the threading model of their application.
The internal implementation pools ByteBuffers but the public offered API could be typed to ByteString. The use case being for IPC/Inter service communication that is more efficient than most but users wanting maximum efficiency should stick to using Aeron directly.
An inital version could offer a new module that has:
I think we should do this before 2.6 as the configuration for the MediaDriver and TaskRunner would need to move to a namespace such as
akka.aeron
that theakka.remote.artery
references. Or the extensions could load a configuration location and maintain one TaskRunner/MediaDriver per configuration location like we did for the Couchbase connection.The text was updated successfully, but these errors were encountered: