OMG I've missed this post! :P
Been a bit busy with work lately, but I can explain here my research a little bit.
Basically I have two approaches on this problem:
1. Creating a proxy client in go ( gnatsd ).
2. Adding websockets support directly to gnatsd, firing up a new server on a different port ( like the monitor does ).
First option is easy to solve, but then could appear other problems like the number of connections splited on two
servers, so monitoring would be harder.
Second approach would be perfect and the conversion between the two protocols ( websocket is message based and gnatsd
is stream based ) is the real problem to solve to maintain the throughput, where NATS excels.
Currently I have the easy part, which is firing up a websocket server on a separate port and I'm researching the most efective way to read a websocket
message and route it through gnatsd flow, but maintaining of course, its performance.
So ... as Larry and Derek says ... stay tuned! :D