I have a problem with my server side module when I use the edge origin setup. I want to know how to resolve the issue on this. My problem is explained below.
I have developed a server side module which works as live video chatting system. In this system, when a person starts streaming I store their information in a ArrayList and let the viewers to see all the online cams list from the Array List. And the users can select one online stream from there and view that by passing an authentication token which will be associated with their account. It works perfectly with single server, because the Array List is accessible to all the incoming and outgoing connections.
Now my problem is that when I setup the edge, origin server setup and add this application on each of those servers, the Array List is not shared. Also other connection variables and lists are not been shared which is within the server side module. I understand its not possible to access the memory variable from one server in another in normal situations. However I'm not sure whether are there any options in Wowza where we can share the memory variables in edge and origin servers?
If its not possible, how can I overcome this issue with the edge origin setup?
The easiest solution is to use one server for presence info and make two NetConnections in the client: one to the edge and one to this server. Or you might use an application server instead of Wowza for that part. If you have non-RTMP clients, you could use an HTTPProvider to get presence info.
There is not anything built-in to do that. You could probably work out some way of replicating SharedObjects among servers, but it would take some work and might be prone to inconsistency. The usual solution in this case is to have one server handle SharedObjects and use a 2nd NetConection in the RTMP clients when necessary.