Skip to content
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

Question: client stability #51

Open
ghost opened this issue May 15, 2021 · 11 comments
Open

Question: client stability #51

ghost opened this issue May 15, 2021 · 11 comments

Comments

@ghost
Copy link

ghost commented May 15, 2021

Hi Guys, we want to start using this client in our iOS app.

we are seeing the docs says it's not production-ready yet. does it related to the client also?
We are also waiting for auto-reconnect and routes features, do we have any estimation of when they will be implemented?

also, we are interested if there any company that uses any rsocket client on iOS in production?

Thank you in advance

@dnadoba
Copy link
Member

dnadoba commented May 15, 2021

Hi @liskov
Short answer is: the client is not ready for production.

Main topics which we need to work on before I think it is ready:

Closing a Connection and Connection State

It is currently not possible to really close a connection nor is it possible to even observe if a connection was closed by the server. We need to support gracefully closing all active streams (i.e. waiting until they have terminated) and non-gracefully e.g. when we no longer have a connection to the server because of keep-alive timeout. We have already started working on it.

Auto-Reconnection

After we can observe the connections state, we can implement auto-reconnect. We need to come up with a good algorithm which does not accidentally DDoS our own server infrastructure when it is down for a short period. For example a we could add a random delay so that not all clients reconnect at the same time.

Routing, Encoding/Decoding, Composite Metadata

We have already started working on a type-safe API to make it easy to define a Request. Some RSocket Extensions are not widely used and we still have some open questions about the specification which needs to be sorted out before we fell confident to settle on an API.

Production

We at Trade Republic are one of the main contributors to the Swift implementation because we want to use it in production but are currently not doing so. I'm not aware of any companies who are using it in production but I know some which are planing to do and some more who are evaluating it.

I can't commit on any timeframe. However, I would say this is roughly 2 weeks of work for a single engineer if the complexity of those topics does not increase significantly. As you can see in the commit history, we haven't worked on it for a couple of weeks because priorities have shifted. Nevertheless, we will not abandon this project and will continue to work on it. That being said, contributions are always welcome too 🙂.

@axiomaticSystem
Copy link

Hello! Are there any updates on @liskov question or is project in the same state?

@Strotsev
Copy link

Hello! Any updates here?

@nkristek
Copy link

nkristek commented Apr 6, 2022

Hi @Strotsev, unfortunately the state remains unchanged, but this does not mean, that development has stopped. More features and stability improvements are planned to be implemented, but it's hard to estimate how long this will take.

@Strotsev
Copy link

Strotsev commented May 4, 2022

Hi, @nkristek!
Thank you for the reply.

I lead the department responsible for API support and improvements at dxFeed Solutions DE GmbH.
We have a strategic plan to use the RSocket implementation for our web and mobile solutions.
Right now it looks like a problem in case of connecting to iOS.

Could you give an advice in this case? Maybe some alternatives?
Interoping Kotlin implementation from Swift (iOS) or Cpp? Do you have end users who have production solutions for the specified stack (Web, iOS, Android)?

Here is my email: vstrotsev@devexperts.com
Thank you!

@Strotsev
Copy link

Hello! Are there any updates?

@sdack-cloud
Copy link

Eagerly waiting...

@niyaode
Copy link

niyaode commented Sep 3, 2022

Is there any progress now

@lizt8888888888
Copy link

Eagerly waiting...

@sdack-cloud
Copy link

Has the project stopped

@YohanSciubukgian
Copy link

Is Rsocket Swift viable for production in 2024?
More generally is RSocket using Server (Java), Web (TypeScript), IOS (Swift) & Android (Java) viable for production in 2024?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants