Wednesday 6 May 2009

P2P or C/S? It Is Not Just A Technical Consideration

I have been always thinking the architecture of new system should ideally not be pure Client/Server because of the concern that

  1. server's operating cost potentially will be very high, and
  2. it will be very hard to maintain servers with high volume of transactions

I have experienced the difficulties of accessing TOM servers when there were major events hosted on their servers. From what I observed, the maximum number of concurrent users in each server is about 2500 - 3000. I can not even connect to any of their four servers some times because they are all full load. I don't have similar experience with KGS or IGS, but from what KGS shows on their server's statistics page, I can tell the maximum number of concurrent users never exceeds 3000, besides the data traffic is huge (total data for the day of May-06-2009 is about 128GB). See the screen shot at the bottom for reference. I don't think it is easy to run such a system in the early stage before I can get financial support from outside source.

My colleague James introduced me to book P2P - Networking and Applications, 2009 by Elsevier Inc, ISBN: 978-0-12-374214-8. I have to say it is an excellent book. It not only answered me so many questions (theoretical and practical), but also directed me to a much brighter future. I feel it is even more fun to work on this project.

Sure my application is quite different from most popular P2P applications, which are mainly for file sharing or multimedia streaming. But from content delivery point of view, it does the very same thing that is delivering contents to as many receivers as possible by means of high efficiency and low cost. So it is interesting to find out:

  1. Is P2P applicable to my system?
  2. If it is, what complexity will be added to my system?
  3. What will be the impacts of using P2P model in my system from business perspective?
  4. Should I build it from scratch or based on third party platform if there is such a platform?

All above questions have to be clearly answered before I move on to next phase of project, which is Architecture Design.

No comments: