Skip to content

v0.1.1

Compare
Choose a tag to compare
@Brijeshlakkad Brijeshlakkad released this 31 Aug 01:24
· 6 commits to main since this release
21dd793

Client-side load balancing to allow gRPC clients to distribute the load optimally across available servers (load balancers).

Resolver Helpers

  1. LB Resolver will be implemented by an agent with the LoadBalancerRule and this will be called from the gRPC resolver (client-side load balancing).
  2. Follower Resolver gets implemented by the Leader rules (LeaderRule and LeaderFollowerRule). This resolver is used by the load balancer to find the followers of the provided responsible server.

The Load Balancer rule server (uses Follower Resolver) forwards the produce request to the leader of the object-replication cluster, whereas it forwards the request to the replicas of the object-replication cluster in a round-robin fashion. These servers are lightweight servers as these servers don't have a local file system module (DistributedLocus) and also implements the server (StreamingServer) but have different implementation for forwarding the requests.

The Follower rule server doesn't implement ring as they are not part of the ring.

Object-replication cluster is a sub-cluster of the ring. This cluster is responsible for the specific object key ranges. It is a cluster because it has one leader and zero or more followers. Load Balancer rule servers cannot be part of any of these object-replication clusters.