eclipse-ditto / ditto

Eclipse Ditto™: Digital Twin framework of Eclipse IoT - main repository
https://eclipse.dev/ditto/
Eclipse Public License 2.0
686 stars 222 forks source link

HTTP retry mechanism #1558

Open BobClaerhout opened 1 year ago

BobClaerhout commented 1 year ago

We have an HTTP-push connection configured to provide digital twin updates to 3rd party webservices. This connection sometimes fails (because of network connectivity, server update on the other end, ...). It would be nice if some retry mechanism would retry the push and not fail immediately. As discussed with @thjaeckle, it's possible to do this using acknowledgements and design a retry mechanism in the business application but in our case the business application is unaware of which connections exist. Therefor it would be nice if the pushing mechanism within ditto is a bit more robust. The proposal is to have specificConfig entries (in this case for HTTP, but might be expanded to other protocols) configuring the retry mechanism on a single connection. This is just the start of the discussion and the details are still to be figured out.

jufickel-b commented 1 year ago

I think this is a valuable feature to have. One thing to think about is to ensure that (possible massive retries) do not impede the rest of Ditto. I. e. we should establish boundaries which might not be harmed by user config.

Abhijeetmishr commented 1 year ago

@thjaeckle should I pick this up for contribution ?