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

Rename global/non-global to async and sync #20

Open
thrawn01 opened this issue May 20, 2024 · 4 comments
Open

Rename global/non-global to async and sync #20

thrawn01 opened this issue May 20, 2024 · 4 comments
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@thrawn01
Copy link
Collaborator

Purpose

Global can be a confusing term and doesn't convey what it actually does. Change gubernator to use async and sync instead of Global behavior. Also, we should default to async behavior by default.

@thrawn01 thrawn01 added the enhancement New feature or request label May 20, 2024
@thrawn01 thrawn01 added this to the V3 milestone May 20, 2024
@thrawn01 thrawn01 self-assigned this May 20, 2024
@dimaqq
Copy link
Contributor

dimaqq commented Jun 24, 2024

+1 on global/async being the default.

Perhaps if the default is reasonable, the naming is less of an issue.

Personally, I don't feel that sync/async labels are good user-facing or operator-facing description, it feels more like an implementation detail. I wonder if some other terminology could be borrowed, e.g. write-through/write-behind, or immediate/batched?

@thrawn01
Copy link
Collaborator Author

Hurm, the more I think about it, we are really talking about write concerns.

I asked ChatGPT about it.

Renaming the "global" behavior in your rate limiting service, Gubernator, to better convey its functionality can improve clarity and understanding for users. Here are a few suggestions based on the description of how it works:

  • EventuallyConsistent: This name directly reflects the behavior of the write being queued and forwarded to the owning node, ensuring eventual consistency.
  • QueuedWrite: This name highlights the queuing mechanism used to handle writes, which is a key aspect of the "global" behavior.
  • DistributedWrite: This name emphasizes the distributed nature of the write process, where the write is not immediately forwarded to the owning node but rather handled in a distributed manner.
  • AsyncWrite: This name suggests that the write is handled asynchronously, which aligns with the queuing and eventual forwarding mechanism.
  • CentralizedQueue: This name emphasizes the central queuing mechanism used to manage writes, which is a key aspect of the "global" behavior.

These suggestions aim to provide a more accurate and descriptive name for the "global" behavior in your rate limiting service. 😆

Not too bad, any thoughts @Baliedge ?

@Baliedge
Copy link
Collaborator

I'm partial to EventuallyConsistent because it does exactly what it sounds like. And more descriptive than simply Async. The AGI description fits, too.

Then for default behavior, you will need the converse term. Perhaps FullyConsistent?

@dimaqq
Copy link
Contributor

dimaqq commented Jun 25, 2024

My preference would be for "Eventually Consistent" and "Synchronous".

Both are clear and well-established jargon in databases and distributed systems.

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

No branches or pull requests

3 participants