I'm interested in using Node.js as a socket server for stream-based communication with tens of thousands of clients. Clients will be sending votes for particular pieces of content, and receiving near-realtime updates of aggregated vote tallies from the server.
The datastore needs to support:
- Storing the votes
- Summarising the votes in near-realtime
- Preventing multiple votes within an arbitrary time period (e.g. clients can only vote once for a piece of content every 1 minute)
Something that already has client libraries for Node.js would be preferable.