Remote Shared Objects, which server to use?
So we're running a real-time auction on Goudkoorts Veiling (Goldrush Auction). The current setup is done with Coldfusion 8 Enterprise, ripped out the LifeCycle DS part and added BlazeDS in each CF instance.
This worked great, but on our WIndows 2008 Web Edition 64 bit, we've had some problems with performance and stability with the CF/Blaze integration. We've had weird issues that the JVM can grow up to 6 GB! So that's been weird and it has to do with the garbage collector somewhere... Don't ask me how or what, but it has to do with the BlazeDS stuff in CF that isn't collected as it should.
So we needed a new setup for our "Real time" connections. A few of the options:
- Use VM's to host multiple standalone BlazeDS instance and cluster them to have 500+ users use long-polling-amf
- Use a Adobe Flash Media Interactive Server 3.5
- Use Wowza Media Server
- Use Red5
- Use Apache ActiveMQ
Well after testing all of the options, we're going with WOWZA. Let me try to explain my choice a little more in-depth:
Multiple BlazeDS on VM
Although BlazeDS is a great open source product, I'm not that happy with the "Long-polling-AMF" after all. For our app, we have a few visitors during non auction hours and we have a big mass during auction hours which gives us hard to manage peaks. As I'm not happy with the non NIO options because they have a 500 max user limit, we would have to use tens of servers to get the mass connected during auction hours. Which would be harder to manage.
Adobe Flash Media Interactive Server 3.5
I love the FMS! It's the cool kid of the class and has everything I want and need. Although this is the ideal choice, the price tag is a huge factor. As we're a European company we need to buy it in Euro's, which is around 5000 euro's per server license. As we want to use multiple servers to be able to scale up the available connection slots for our users, we might end up in big license costs as we grow. Also I find it a bit too much money for only the data push (RSO) option.
RED5
Red 5. Great open source project to create the free and open version of the FMS. But as it still hasn't reached the 1.0 status, I find it a bit difficult to use right now. I'm not a media/network pro, so that brings some limitations for me. As I'm the one that needs to be able to set everything up and manage stuff, this will hold me back on other stuff as I need to learn the in's and out's of the server.
Apache ActiveMQ
Apache ActiveMQ is also a great open-source package for messaging. I've seen a lot of articles on blogs, but most of them we're using BlazeDS to talk to the Flex clients. As ActiveMQ doesn't have any AMF channels, we needed to use STOMP. I played a bit around with the STOMP AS3 classes that are available on Google Code, but no luck. On the Coldfusion side, I had it working within 10 minutes, but now the flex part was the factor that was holding me back.
WOWZA MEDIA SERVER
This was one of my first options I looked into, but the FMS gateway of Coldfusion 8 didn't connect with the Wowza server, which would cost me a lot of time to get it to work in some other way. Later during the test process I found out that the Wowza servers couldn't cluster Remote Shared Objects. Although the performance numbers of Wowza with RSO's are great, it would mean that I needed to control each wowza server from CF or some mediator.
After looking into the options I went with Wowza. I want to build my own Wowza Coldfusion Gateway, but as my Java skills are probably not enough, I'm building a Adobe AIR app that gets the list of servers from CF through Remoting, and then connects with those Wowza servers to feed them the information for the auction application.
Although it might seems to be a extra layer which can cause delays, all the interactions are on a internal network. The first tests gave me great performance numbers. Within 50ms I have the data from MySQL through CF to my Wowza Controller to my Wowza servers, to my clients connected to the RSO's that I update every second.
If anyone knows of a Wowza Media Server Gateway for CF, please let me know as I'm very interested in controlling wowza from CF instead of an AIR app. I might try to make a start with the Wowza Gateway as soon as I have this BIG application/network update behind me.










There are no comments for this entry.
[Add Comment]