Intro To CometD What’s Comet? What’s Bayeux? What’s CometD? Pushing Data to The Net over HTTP Channel & JSON Based Comet Protocol Comet Client and Server Implementation using Bayeux What’s WebSockets?
Remove Apache Apache Has 1 Thread Per Request Limit Browse Apache Jetty
Separate Client Into Tiers Some high throughput some low Spreads broadcast over multiple threads Delivery to 5 channels can be handled by 5 threads Delivery to 1 Channel can be handled by only 1 thread /Player/GameUpdate High Volume /GameUpdate Publisher /Watcher/GameUpdate Low Volume
Only Deliver Changed Fields 50% Field Delivery Reduction
Advanced Steps Move Customers to slower tier if they are not consuming fast enough Disconnect users with very “large” queues Auto adjust throttling if overall we are producing faster than we can consume (deliver to customers)
Before, No InternalVisiblity filter Jetty JMS BayeuxService Browser LEDGEND I can see I can’t see
Before – Full Story filter Jetty JMS BayeuxService Browser Queue LEDGEND I can see I can’t see
After filter Jetty JMS BayeuxService Browser Queue DeliverListener QueueListener LEDGEND I can see I can’t see