Nertivia / issues

General issues for nertivia
0 stars 2 forks source link

Bot load balancing/self registration/simple sharding #61

Open athyk opened 3 years ago

athyk commented 3 years ago

Why: Have 3 very cheap unreliable servers, if 2 of those servers goes down either due to an update, crash or network failure then the bot will still show as online. Basically creating bots that are capable of being put on Kubernetes and scaled horizontally.

You could call it simple sharding.

Feature:

at least in nertivia.py nertivia.Bot(debug=False, node=0) or a non-existent one would do it how it is normally done.

bot1 = nertivia.Bot(debug=False, node=1) bot2 = nertivia.Bot(debug=False, node=2)

Now you have 3 scripts running with different nodes specified. This could be broadcasted after authentication or in the authentication.

The server would hold 0,1,2 for this bot. Then it would broadcast the events either on a block of servers per 1 node or a random choice between the nodes.

The bot is in 6 servers, A, B, C, D, E, F

You select A and B to be used for Node 0 You also select C and D to be used for Node 1 You then select E and F to be used for Node 2

If it joined a server called G it would then go into Node 0, if H joined it would go into Node 1.

As Nertivia doesn't have thousands of servers there isn't a rush for this but would make bots work better.

Oh no Bot 0's server's network has failed/disconnected from the socket. This would then take all the servers for Node 0 and shift them onto Node 1 and Node 2. Then once Node 0 comes in it will take split the servers and get an equal number again.