Taking another swing at networking
Posted: 07 Apr 2017, 13:50
Hey XMage Devs,
I'm back at it again. First off let me start by saying that everyone has done a fantastic job with XMage. It's awesome to see how far it has come from it's early days on Google Code.
The last time I was working on XMage I was attempting to convert the networking layer to use Netty but then real-life got in the way and I had to step away for some time. Life has started to return to normal so I'm now in the mood to get back to coding.
Recently I took a look at what I had done and I decided that it might be of some use to other projects so I simplified the code and split it out into a separate repo. I even took a stab at converting everything to Scala but I found the integration with Java was just too awkward.
The new project is called jorre. You can find the repo here: https://github.com/betawares/jorre. It is a networking framework that allows java based applications to exchange request/response objects using Netty.
My plan is to redo the XMage networking layer using this framework. I am hoping that it will be somewhat less complicated than my previous attempt. Over the next few weeks I will create a new branch and start the process of removing the jboss-remoting networking and replacing it with jorre. I suspect that this operation will probably require some rework to the jorre framework as well.
When in place, this networking overhaul should hopefully allow much greater throughput and reduce the number of disconnects and possibly reduce the number of server restarts. After that I'm considering doing some work on making the server scalable so that additional instances could be added as load increases.
If you're interested in helping or if you just want more info let me know.
Regards,
BetaSteward
I'm back at it again. First off let me start by saying that everyone has done a fantastic job with XMage. It's awesome to see how far it has come from it's early days on Google Code.
The last time I was working on XMage I was attempting to convert the networking layer to use Netty but then real-life got in the way and I had to step away for some time. Life has started to return to normal so I'm now in the mood to get back to coding.
Recently I took a look at what I had done and I decided that it might be of some use to other projects so I simplified the code and split it out into a separate repo. I even took a stab at converting everything to Scala but I found the integration with Java was just too awkward.
The new project is called jorre. You can find the repo here: https://github.com/betawares/jorre. It is a networking framework that allows java based applications to exchange request/response objects using Netty.
My plan is to redo the XMage networking layer using this framework. I am hoping that it will be somewhat less complicated than my previous attempt. Over the next few weeks I will create a new branch and start the process of removing the jboss-remoting networking and replacing it with jorre. I suspect that this operation will probably require some rework to the jorre framework as well.
When in place, this networking overhaul should hopefully allow much greater throughput and reduce the number of disconnects and possibly reduce the number of server restarts. After that I'm considering doing some work on making the server scalable so that additional instances could be added as load increases.
If you're interested in helping or if you just want more info let me know.
Regards,
BetaSteward