See First: Legendserver Topology architecture diagram
Since the last censored test is inaccurate when it comes to statistical CCU, the optimization of load balancing needs to be done:
Each type of server can be multi-configuration but each server in the processing logic is single-threaded, but each server in parallel with the center interaction, not by proxy, AC, logic in the detection of players on-line when the respective CCU notify center update, Because when a large number of players through a server influx of the CCU update message has not reached the center, the center in the load distribution is naturally no longer balanced, because the center according to each server's CCU and other indicators to allocate the lowest CCU optimal server to the player, And the real CCU has not come and updated on the load distribution is obviously unreasonable.
0, by the player from the AC Landing Center unified Accumulation of AC, proxy, logic of the CCU, where Proxy and logic in advance to accumulate CCU (3rd, 4 points will correct the possible errors), this step resolves a large number of players normal flow and the influx of load imbalance problem.
1. When querying the CCU, the number of people who counted the true online status from the session of AC and proxy
3. Each AC and proxy and logic notifies the center of the CCU impairment to each server when it detects the player's drop
4, the player in the landing on the line will be the CCU through AC and proxy will be the current session of the number of real online status to inform the center coverage of the current statistics, To correct the load error (such as connecting the "proxy" and "logic" CCU to the AC only) but the player is not connected to the next proxy or logic because of a special case of the network signal or a logical exception.
This way of thinking is not limited to legendserver topological structure and only for my notes and records and reference.
Legendserver distributed server load Balancing optimization