0

I am considering developing a web site which has many characteristics of a social networking site. The website, I am considering will have a lot of apps, which will interact with the database, and also, scraping other websites for information and a multiuser chat. Also, it will feature a forum, blog, and other similar CRUD applications. The key things I am looking at is

  1. Response time
  2. Max number of developers may be 1 to 3 during the initial stages
  3. I expect the website to scale up to around 1000 concurrent users in a year, and then hopefully an exponential growth.
  4. The users are expected to spend a lot of time, in the site.

With this requirements in mind, I looked at Django, and Web2Py, since I am knowledgable in Python. It fits the bill mostly, but, I am concerned about the scalability, and as it scales, I will require more servers to be added. This means, additional cost, and I don't have any ideas to monetize the app in the near future for various reasons. So, I have to be satisfied with a limited amount of resources.

Can you kindly advice me?

Thx Ik

Jithu
  • 3
  • 1

2 Answers2

1

From what you had described, Node.js is perfect. Not only does it have a low memory footprint and can it handle thousands of concurrent clients out of the box, but you can definitely use it for scraping websites (see this and this), creating chats (check nodechat and this other nice tutorial)

  1. The respond time depends on your application, but if you code the right way (don't block the event loop of Node.js, keep you 'heavy-lifting' outside the server process) Node.js is really fast.
  2. This depends on you, but consider Node.js is JavaScript on the server-side, so there is already a great pool of developers that already know JS and could learn Node.js specific things fast.
  3. There were some official benchmarks on the nodejs blog some weeks ago, look here: http://blog.nodejs.org/2011/11/05/node-v0-6-0/ A simple server with Node.js can handle 5-6 thousands of requests per second, so you can imagine that's really something.
  4. Spending a lot of time on the site means that they'll be making many requests, so look at my point above 3).
Community
  • 1
  • 1
alessioalex
  • 57,958
  • 15
  • 152
  • 119