Thursday, June 4, 2009

Faster Jawaker

In our efforts to ensure that you have a great time playing your favorite card game on Jawaker, we have been tinkering with how Jawaker works and we ended up with a major system redesign.

During peak hours some of our users complained about slow game play. Since we believe that performance problems should be solved with smart system architecture rather than by throwing more hardware at the problem, we undertook the big job of redesigning our system.

Jawaker now runs as a collection of cooperating services, each with a specific task. This has given us great flexibility in addressing particular problems on their own without affecting the system in general. Furthermore, this loose coupling of systems allowed us to write different components in different programming languages - using the right tool for the right job. So, for example, our web tier is still running on Ruby using the awesome Merb web framework, whereas the new in-game client/server communication bridge is written in Python.

The changes we made seem to have solved all the issues we were having. The new system has been in production for almost two weeks and we haven't received any slowness complaints since.

In the end we ended up with a system that can handle more players, while at the same time providing a smooth and seamless game play. We hope you like the new and improved Jawaker and continue to enjoy playing on Jawaker!

No comments:

Post a Comment