Skip to content
This repository has been archived by the owner on Jul 11, 2023. It is now read-only.

Introduce publish subscribe interface for channels #1914

Closed
shashankram opened this issue Oct 26, 2020 · 2 comments
Closed

Introduce publish subscribe interface for channels #1914

shashankram opened this issue Oct 26, 2020 · 2 comments

Comments

@shashankram
Copy link
Member

shashankram commented Oct 26, 2020

Channels are implemented as a FIFO, with the first reader being able to read from the channel when there are multiple readers for the same channel.

See #1871 (comment) on why such an interface will be useful.

With a generic interface to publish and subscribe for events based on channels, there would be no issue when a single channel has multiple readers/writers.

@draychev
Copy link
Contributor

This project seems relevant and very interesting: https://github.com/grafov/bcast

@shashankram
Copy link
Member Author

shashankram commented Oct 26, 2020

This project seems relevant and very interesting: https://github.com/grafov/bcast

Thanks for sharing, there are few other implementations such as https://github.com/dustin/go-broadcast (godoc https://godoc.org/github.com/dustin/go-broadcast)

eduser25 added a commit to eduser25/osm that referenced this issue Nov 17, 2020
This commit introduces a glogal interface to pass messages and events,
from multiple writers to multiple readers, based on topic.

Single channel mechanisms suffers from some coupling still, where
the object holding the channel or channel itself has to be passed around.

Additionally, we are seeing situations where individual modules could be
interested in being notified for certain events so they could run
their own isolated logic (mind the isolation), current single channel model
poses several quite some issues on that front (need a middleman multiplexer, etc.)

This commit doesn't yet introduce a consumer of this API, though in subsequent
we will introduce/rework some channel uses that will immediately greatly benefit
from this feature (proxy's global boadcasting, configurator, etc.)

Addresses openservicemesh#1914
eduser25 added a commit to eduser25/osm that referenced this issue Nov 17, 2020
This commit introduces a glogal interface to pass messages and events,
from multiple writers to multiple readers, based on topic.

Single channel mechanisms suffers from some coupling still, where
the object holding the channel or channel itself has to be passed around.

Additionally, we are seeing situations where individual modules could be
interested in being notified for certain events so they could run
their own isolated logic (mind the isolation), current single channel model
poses several quite some issues on that front (need a middleman multiplexer, etc.)

This commit doesn't yet introduce a consumer of this API, though in subsequent
we will introduce/rework some channel uses that will immediately greatly benefit
from this feature (proxy's global boadcasting, configurator, etc.)

Addresses openservicemesh#1914
eduser25 added a commit that referenced this issue Nov 17, 2020
This commit introduces a glogal interface to pass messages and events,
from multiple writers to multiple readers, based on topic.

Single channel mechanisms suffers from some coupling still, where
the object holding the channel or channel itself has to be passed around.

Additionally, we are seeing situations where individual modules could be
interested in being notified for certain events so they could run
their own isolated logic (mind the isolation), current single channel model
poses several quite some issues on that front (need a middleman multiplexer, etc.)

This commit doesn't yet introduce a consumer of this API, though in subsequent
we will introduce/rework some channel uses that will immediately greatly benefit
from this feature (proxy's global boadcasting, configurator, etc.)

Addresses #1914
draychev pushed a commit to draychev/osm that referenced this issue Nov 19, 2020
)

This commit introduces a glogal interface to pass messages and events,
from multiple writers to multiple readers, based on topic.

Single channel mechanisms suffers from some coupling still, where
the object holding the channel or channel itself has to be passed around.

Additionally, we are seeing situations where individual modules could be
interested in being notified for certain events so they could run
their own isolated logic (mind the isolation), current single channel model
poses several quite some issues on that front (need a middleman multiplexer, etc.)

This commit doesn't yet introduce a consumer of this API, though in subsequent
we will introduce/rework some channel uses that will immediately greatly benefit
from this feature (proxy's global boadcasting, configurator, etc.)

Addresses openservicemesh#1914
draychev pushed a commit to draychev/osm that referenced this issue Nov 19, 2020
)

This commit introduces a glogal interface to pass messages and events,
from multiple writers to multiple readers, based on topic.

Single channel mechanisms suffers from some coupling still, where
the object holding the channel or channel itself has to be passed around.

Additionally, we are seeing situations where individual modules could be
interested in being notified for certain events so they could run
their own isolated logic (mind the isolation), current single channel model
poses several quite some issues on that front (need a middleman multiplexer, etc.)

This commit doesn't yet introduce a consumer of this API, though in subsequent
we will introduce/rework some channel uses that will immediately greatly benefit
from this feature (proxy's global boadcasting, configurator, etc.)

Addresses openservicemesh#1914
draychev pushed a commit to draychev/osm that referenced this issue Dec 14, 2020
)

This commit introduces a glogal interface to pass messages and events,
from multiple writers to multiple readers, based on topic.

Single channel mechanisms suffers from some coupling still, where
the object holding the channel or channel itself has to be passed around.

Additionally, we are seeing situations where individual modules could be
interested in being notified for certain events so they could run
their own isolated logic (mind the isolation), current single channel model
poses several quite some issues on that front (need a middleman multiplexer, etc.)

This commit doesn't yet introduce a consumer of this API, though in subsequent
we will introduce/rework some channel uses that will immediately greatly benefit
from this feature (proxy's global boadcasting, configurator, etc.)

Addresses openservicemesh#1914
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants