Your system does sound similar to SC - It seems to be a pretty standard realtime architecture - Those who started building their realtime systems with Socket.io (as you did) often end up with something similar to what you describe except it takes a lot of work to get there...
A lot of people who use SC decided to make the switch because they started implementing their own pub/sub stack (as you did) and then decided that it would be easier to just use something open source instead of writing their own.
There is a lot more to a realtime stack than just the bidirectional transport.
If you already have a fully working system and you don't need any new features, then you don't necessarily need to migrate to the shiny new tool ;p
I'm curious because I have a relatively new socket.io based application (we went into production in the last month). How difficult is the migration path? (If it's something i can do in an afternoon, I'd be willing to try it out)
Your system does sound similar to SC - It seems to be a pretty standard realtime architecture - Those who started building their realtime systems with Socket.io (as you did) often end up with something similar to what you describe except it takes a lot of work to get there...
A lot of people who use SC decided to make the switch because they started implementing their own pub/sub stack (as you did) and then decided that it would be easier to just use something open source instead of writing their own.
There is a lot more to a realtime stack than just the bidirectional transport.
If you already have a fully working system and you don't need any new features, then you don't necessarily need to migrate to the shiny new tool ;p