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

🔮[RFC #0001]: Large pressure measurement scheme #137

Closed
BanTanger opened this issue Jul 20, 2023 · 2 comments · Fixed by #178
Closed

🔮[RFC #0001]: Large pressure measurement scheme #137

BanTanger opened this issue Jul 20, 2023 · 2 comments · Fixed by #178
Labels
enhancement New feature or request feature Categorizes issue or PR as related to a new feature. proposal RFC Project design proposal

Comments

@BanTanger
Copy link
Contributor

BanTanger commented Jul 20, 2023

[RFC #0000] Large pressure measurement scheme

Meta

  • Name: (Large pressure measurement scheme)
  • Start Date: (2023-7-20)
  • Author(s): (@BanTanger )
  • Status: Draft
  • RFC Pull Request: (leave blank)
  • OpenIMSDK Pull Request: (leave blank)
  • OpenIMSDK Issue: (leave blank)
  • Supersedes: (put "N/A" unless this replaces an existing RFC, then link to that RFC)

📇Topics

Summary

One paragraph explanation of the feature.

A few directions

  1. Millions of users register

  2. How to support DAU 100W and 10W online at the same time

  3. Test 1 second and 1W message can be sent normally under the situation of 100,000 users online.

  4. View resource occupation ratio, delay, message reliability

Definitions

Make a list of the definitions that may be useful for those reviewing. Include phrases and words that OpenIMSDK authors or other interested parties may not be familiar with.

Motivation

  • Why should we do this?
  • What use cases does it support?
  • What is the expected outcome?

What it is

This provides a high level overview of the feature.

  • Define any new terminology.
  • Define the target persona: OpenIMSDK author, OpenIMSDK user, platform operator, platform implementor, and/or project contributor.
  • Explaining the feature largely in terms of examples.
  • If applicable, provide sample error messages, deprecation warnings, or migration guidance.
  • If applicable, describe the differences between teaching this to existing users and new users.

How it Works

What needs to be discussed is how to achieve 10W online users on a machine, the largest TCP connection number of a machine is 6W, and the currently recorded users in the SDK to initialize various listeners, callbacks, and news local libraries.For storage, for the pressure measurement angle, the use of these users is only a message. They do not need to receive the message, and the content does not need to be stored locally

The current proposal is:

  1. The long connection of SDK users log in to open, the server side does statistics, whether there will be a lack of or the user's disconnection.

  2. SDK sends messages to Server, and view the seq number of the server side to detect whether the message from the client to the server is lost

  3. SDK synchronization message: Make differences through the largest local seq and Server's maximum seq, pull data, check the synchronization time consumption

  4. Users with a backlog of 100,000 messages to log in, check the synchronous time consumption, and enter the session to draw historical news if it will cause various functions to stuck

Migration

This section should document breaks to public API and breaks in compatibility due to this RFC's proposed changes. In addition, it should document the proposed steps that one would need to take to work through these changes. Care should be give to include all applicable personas, such as platform developers, OpenIMSDK developers, OpenIMSDK users and consumers of OpenIMSDK images.

Drawbacks

Why should we not do this?

Alternatives

  • What other designs have been considered?
  • Why is this proposal the best?
  • What is the impact of not doing this?

Prior Art

Discuss prior art, both the good and bad.

Unresolved Questions

  • What parts of the design do you expect to be resolved before this gets merged?
  • What parts of the design do you expect to be resolved through implementation of the feature?
  • What related issues do you consider out of scope for this RFC that could be addressed in the future independently of the solution that comes out of this RFC?

Spec. Changes (OPTIONAL)

Does this RFC entail any proposed changes to the core specifications or extensions? If so, please document changes here.
Examples of a spec. change might be new lifecycle flags, new OpenIMSDK.toml fields, new fields in the OpenIMSDKage label, etc.
This section is not intended to be binding, but as discussion of an RFC unfolds, if spec changes are necessary, they should be documented here.

History

@BanTanger BanTanger added enhancement New feature or request RFC Project design proposal feature Categorizes issue or PR as related to a new feature. proposal labels Jul 20, 2023
This was referenced Jul 28, 2023
@kubbot
Copy link
Contributor

kubbot commented Sep 18, 2023

This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 7 days.

@kubbot kubbot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Sep 18, 2023
@kubbot
Copy link
Contributor

kubbot commented Sep 25, 2023

This issue was closed because it has been stalled for 7 days with no activity.

@kubbot kubbot closed this as completed Sep 25, 2023
@github-actions github-actions bot reopened this Aug 8, 2024
@github-actions github-actions bot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Aug 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request feature Categorizes issue or PR as related to a new feature. proposal RFC Project design proposal
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants