5 ms·
Not the OP, but I work on the same team. The edge servers are not clustered and share no state. We require at least 2 servers as minimum for fault tolerance.
by cyunker 10y ago
Not the OP, but I work on the same team.
The edge servers are not clustered and share no state. We require at least 2 servers as minimum for fault tolerance.
- je42 10y agoDid the need for edge server arise from the fact the a service like https://aws.amazon.com/elasticloadbalancing/applicationloadbalancer/ https://aws.amazon.com/elasticloadbalancing/applicationloadb... didn't exist back then ?
- cyunker 10y agoWell we need edge servers to handle the persistent websocket connections which last through the life the player session.
- je42 10y agoyeah the ALB provides that feature as well. I just checked. it was released in Aug 2016. So clearly before that time your setup makes a lot of sense. I am wondering if the ALB would be the preferred method now, if you were to redo it ?
- michalptaszek 10y agoRight, ALB were introduced after we built RMS. We would have to re-evaluate the ALB stability/cost/scalability - but definitely something to consider.
- dorfsmay 10y agoThanks for replying! So what happens to a player session when an edge server dies? Do you have a way to rehydrate the session on a different server?
- michalptaszek 10y agoWhen the edge server dies player will reconnect to another node (load balancer will select a healthy one this time). In the same time RMS will detect that the session got lost in an abrupt way and will buffer any outgoing messages addressed to that session for a short time, just in case when player reconnects.