Goals and requirements
Scenarios
The scenarios Laharsub project aspires to address include:
- Chat/customer support
- Stock quote updates/breaking news
- Multiplayer web games
- Campfire/live blog (real time wiki collaboration)
- Google docs/Office Live (real time document collaboration)
- Remote device control/monitoring
Target audience
- If you are an individual developer implementing one of the web application types listed above, Laharsub is a flexible messaging solution that will substantially shorten your development time while allowing deployment in a variety of environments (self-host, Windows Azure, Amazon EC2).
- If you are an ISV developing a web application that requires a scalable publish\subscribe solution, Laharsub provides you with a robust protocol optimized for the web while allowing scale-out to a large number of users in a variety of deployment environments. Open source license allows you to customize the software to the needs of your specific application.
Requirements
What we care about:
- JavaScript and Silverlight as a client
- HTTP polling and Websockets as two primary protocols
- Browser TCP connection use minimization (single HTTP request with multiple subscriptions)
- Unrestricted message content type
- Low latency between publish and delivery (check the performance results)
- Scalable to tens of thousands subscribers per topic
- Authorization
- Configurable message durability (e.g. TTL based)
- Ability to self-host, deploy in Windows Azure, and in Amazon EC2
What we don’t care about:
- Transactions
- Formal delivery guarantees
- Push subscription model (i.e. the server initiating a connection to a subscriber in order to deliver a notification; web clients are not addressable)
- Durable subscriptions (server side cursors, subscription identity)
We don’t know yet if we care about:
- Message size restrictions
- Integrity & confidentiality
- Shared hosting