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

Reconsider the design of cluster #21

Open
cupen opened this issue Sep 26, 2021 · 0 comments
Open

Reconsider the design of cluster #21

cupen opened this issue Sep 26, 2021 · 0 comments

Comments

@cupen
Copy link
Collaborator

cupen commented Sep 26, 2021

pros:

  1. It's really nice to find the address of an actor ( PID ) by Kind and ID, no matter how many cluster members.
    More specifically,, no matter how many processes running on how many machines.
  2. grain codegen is good idea. It made a well-understand request-reply pattern which is enough to cover 95% of my need.

cons:

  1. Too many IdentityHandoverRequests when cluster members scaling up or down, its time complexity is O(n^2 * (m/n)).
    n = How many cluster members
    m = How many actors totally in all of cluster members
    m/n = Average of how many actors in a cluster member
  2. The ActivationRequest will spend 1 or more RTT, beacuse PartitionIdentiyActor will forward it serveral times in some worse cases. And also there is a worsest case (a->b->a->b) may causing high cpu usage.
  3. The ActivationTerminated, its problem as above.
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

1 participant