A successful computer application can easily have millions of users, but handling the network traffic generated by millions of users is not easy. The server system has to be well designed in order to properly process large, concurrent, and distributed data streams without affecting user experience. In addition, users do not generate data constantly, they often put a burst of load on the network instead. Therefore, the server system needs to be scalable as well.