update load balancer directory name
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
import random
|
||||
|
||||
class LeastConnections:
|
||||
def __init__(self, servers):
|
||||
self.servers = {server: 0 for server in servers}
|
||||
|
||||
def get_next_server(self):
|
||||
# Find the minimum number of connections
|
||||
min_connections = min(self.servers.values())
|
||||
# Get all servers with the minimum number of connections
|
||||
least_loaded_servers = [server for server, connections in self.servers.items() if connections == min_connections]
|
||||
# Select a random server from the least loaded servers
|
||||
selected_server = random.choice(least_loaded_servers)
|
||||
self.servers[selected_server] += 1
|
||||
return selected_server
|
||||
|
||||
def release_connection(self, server):
|
||||
if self.servers[server] > 0:
|
||||
self.servers[server] -= 1
|
||||
|
||||
# Example usage
|
||||
servers = ["Server1", "Server2", "Server3"]
|
||||
load_balancer = LeastConnections(servers)
|
||||
|
||||
for i in range(6):
|
||||
server = load_balancer.get_next_server()
|
||||
print(f"Request {i + 1} -> {server}")
|
||||
load_balancer.release_connection(server)
|
||||
Reference in New Issue
Block a user