Comments (5)
@tonyg I believe enforcing reliability can very well happen at the "content" level and not at the protocol level. The best solution I found for this was to have some kind of sequential id in each "payload" that the hub passes through. The subscriber can then easily identify if it's missing parts.
from websub.
afaik the implementation of this has been around sending individual items from a feed, such as entries an in RSS feed.
from websub.
This question touches on thorny issues of content model, "reliability" level, consistency properties etc.
What is PubSub for? Transient, best-effort notifications where occasional message loss is fine and expected (atop which something else may be built), or "reliable", high-value notifications, where message loss is frowned upon and serious energy is expended on making sure notifications aren't missed, or duplicated?
Since "guaranteed delivery" isn't a thing, it might make sense to explicitly go for a best-effort/unreliable framing, and to leave "reliability" to upper levels. However, it could be a big help if some indication of lost or duplicate notifications were able to be provided! Could a hub be asked to assign a sequence number to its notifications? (It would have to be scoped very carefully.) That way at least consumers could detect gaps and duplications in the stream, and take application-specific appropriate action.
from websub.
@julien51 Thank you! Your remark helped me realise that what I was thinking of is best left for later, and out of scope for this round of the spec. Sorry for muddying the water. Keeping this spec best-effort/unreliable seems very much the best option.
from websub.
NP!
from websub.
Related Issues (20)
- use of Link header HOT 2
- hub vs subscriber in section 8 HOT 5
- High Level Architecture HOT 5
- At risk: limiting the use of HTML <link> to the HTML <head> HOT 16
- Add Acknowledgments section HOT 1
- Temporary vs Permanent Redirect HOT 1
- Diffing for HTML with <article> HOT 3
- Alternative protocols for callbacks HOT 4
- Content Distribution topic clarification HOT 3
- How to handle removals from a list HOT 2
- https://websub.net is not available due to certificate issues HOT 1
- discovery of hub url order and https vs http HOT 2
- GitHub Code Scanning Alerts on hub.challenge when using Express.js
- Example 4 has wrong Content-type HOT 1
- Let's stop treating URLs as secrets: the removal of hub.verify_token in prior draft 0.3
- protocol diagram is hard to read HOT 1
- How to ensure publisher and subscriber data remains private when transmitted through hubs?
- Consistency Issues with WebSub HOT 4
- Expiration time is still defined as optional in section 1.
- Changing callbacks in renewal requests? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from websub.