Do they keep an online user list in a database and update it with every login and logout event, and run queries for online friends?
What about scalability?
Are there better solutions?
Do they keep an online user list in a database and update it with every login and logout event, and run queries for online friends?
What about scalability?
Are there better solutions?
If you try to either store presence in a traditional database, or poll for changes to anything, you're going to have a tough time scaling your presence system. Start with one of the open source XMPP servers, pull it apart, and see how it works. Each one of them scales differently, but at least you'll understand more about where you need to start.