jam-cloud/websocket-gateway
Seth Call ba0e600293 * VRFS-699; adding bugsnag to websocket-gateway as well, and hook up EventMachine errors in jam-web 2013-09-21 20:43:40 +00:00
..
bin * VRFS-694; adding newrelic to websocket. only real thing we get here is database monitoring 2013-09-18 22:11:32 +00:00
config * VRFS-694; adding newrelic to websocket. only real thing we get here is database monitoring 2013-09-18 22:11:32 +00:00
features merging websocket-gateway into websocket-gateway 2013-09-15 18:07:00 +00:00
lib * VRFS-699; adding bugsnag to websocket-gateway as well, and hook up EventMachine errors in jam-web 2013-09-21 20:43:40 +00:00
log merging websocket-gateway into websocket-gateway 2013-09-15 18:07:00 +00:00
script/package * VRFS-438 - squirt out BUILD_NUMBER into file and make debian packages reference it when it starts the app so that gem versions can be found 2013-09-16 17:03:26 +00:00
spec * VRFS-699; adding bugsnag to websocket-gateway as well, and hook up EventMachine errors in jam-web 2013-09-21 20:43:40 +00:00
.gitignore * VRFS-438 - squirt out BUILD_NUMBER into file and make debian packages reference it when it starts the app so that gem versions can be found 2013-09-16 17:03:26 +00:00
.pg_migrate merging websocket-gateway into websocket-gateway 2013-09-15 18:07:00 +00:00
.ruby-gemset merging websocket-gateway into websocket-gateway 2013-09-15 18:07:00 +00:00
.ruby-version merging websocket-gateway into websocket-gateway 2013-09-15 18:07:00 +00:00
Gemfile * VRFS-699; adding bugsnag to websocket-gateway as well, and hook up EventMachine errors in jam-web 2013-09-21 20:43:40 +00:00
Guardfile merging websocket-gateway into websocket-gateway 2013-09-15 18:07:00 +00:00
README.md merging websocket-gateway into websocket-gateway 2013-09-15 18:07:00 +00:00
Rakefile merging websocket-gateway into websocket-gateway 2013-09-15 18:07:00 +00:00
build * bumping gems to be version 0.1.X to match debs 2013-09-18 20:35:20 +00:00
jam_websockets.gemspec merging websocket-gateway into websocket-gateway 2013-09-15 18:07:00 +00:00
jenkins * missed websockets-gateway when bumping to 0.1 for gem 2013-09-18 21:10:08 +00:00
migrate.sh merging websocket-gateway into websocket-gateway 2013-09-15 18:07:00 +00:00

README.md

TODO & DESIGN LIMITATIONS

  • !!!! lock up multi-threaded unsafe data structures

  • The rabbitmq connection isn't pooled. Throughput limitation (but could be resolved by just starting more instances of JamWebsocket behind Haproxy)

  • The database connection isn't pooled. Throughput limitation (but could be resolved by just starting more instances of JamWebsocket behind Haproxy)

  • We make just one user topic registration and session registration for all users/sessions. If ever we had 10 of servers, it could be wasteful. It just depends on how fast the bogus messaging can be ignored

  • The database connection is pooled.

  • The user model is stored in memory, meaning periodically it should be reloaded from the database (in case a user was marked inactive and you want them knocked out of the system)

  • The user could easily join to multiple sessions. Currently, though, the ClientContext object only tracks one jam session topic subscription. This is minimial to change.

  • peek logic not implemented on server for protoc messages; this could be done to save cost of deserialization and serialization for session/user directed messages