[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-users] multiple streaming servers in a xen cloud


  • To: Simon Billis <simon@xxxxxxxxxx>
  • From: Tapas Mishra <mightydreams@xxxxxxxxx>
  • Date: Mon, 9 Aug 2010 15:18:42 +0530
  • Cc: Xen List <xen-users@xxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Mon, 09 Aug 2010 02:49:42 -0700
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=iDn4nSatAu8hZ77MX4fIl8DrhV/KcKyUOtOAhV/tYYa9Jo+C6thTeqRWRw1mXmBQC0 izroSAJvvG+lJsyqIccIQWPo5v9Ug+VgY2+K3AlSEWZAAIAuSH947c5V1RO7Pe5qgicA rsMEQIAuFJU5TSz+jvGTuglcsHd9/zQr0ibwk=
  • List-id: Xen user discussion <xen-users.lists.xensource.com>

Simons thanks for detailed reply I
here is the information you requested
quotes from your messages

On Mon, Aug 9, 2010 at 3:05 PM, Simon Billis <simon@xxxxxxxxxx> wrote:
> Hi,
>> I have multiple video streaming servers running on some virtual
>> machines running on Xen.
>>
>> For different subdomains.
>> i.e.
>> site1.mydomain.com
>> site2.mydomain.com
>> site3.mydomain.com
>> site4.mydomain.com
>
> I assume that these different sites are streaming different content and do
> not need to be load balanced or HA.

Yes very correct.

>> The front end to the world is apache2 on Dom0
>
> This is not recommended, you would be better off creating another DomU and
> having apache in there.
I am not clear with this point.
The Dom0 has public IP so you mean to say I create another guest which
would have my public IP.

>> To be able to reach the streaming server I
>> embed a javascript in HTML pages
>> as follows
>> Code:
>>
>> <embed .....
>> var="rtmp://site1.my_domain.com"
>>
>> the problem is the website are many
>>
>> site1.mydomain.com
>> site2.mydomain.com
>> site3.mydomain.com
>> site4.mydomain.com
>>
>> each on a separate virtual machine.
>
> This is the important bit - If each machine is a different DomU and you have
> setup the networking in such a fashion that each DomU has its own IP address
> then nothing has to be done to the url to make this work
>. You don't even
> have to change the listening port on the streaming servers.
Each DomU has its own IP but these are known to machines on my LAN.
Meaning in a subnet of Class C
192.168.1.2 to 192.168.1.5
are DomU IPs
and Dom0 IP is 192.168.1.1
also Dom0 has a public IP.

>> Each of these four have their own streaming servers the front end to
>> each of these four is apache running on Dom0.
>
> This is one instance of apache with either a number of virtual hosts or a
> single host with a, for example, single page with the different urls on it.
>
Each Virtual Machine  has an Apache vhost on it.
And on Dom0 I have separate vhosts running which
use Reverse Proxy to reach the virtual hosts on guest machines.

i.e. for DomU 1 at Dom0
the vhost is
<VirtualHost *:80>
ServerName site1.mydomain.com

ProxyPass / http://domU1
ProxyPassReverse / http://domU1
</VirtualHost >
and
the virtual host at DomU 1
is

<VirtualHost *:80>
ServerName site1.mydomain.com
DocumentRoot /var/www
.....
...rest of the stuff
</VirtualHost >


>> If I run rtmp on each of the subdomains (the virtual machines) at a
>> different port
>>
>> how will I make sure
>> a request such as
>>
>> rtmp://site1.mydomain.com
>> rtmp://site2.mydomain.com
>>
>> goes to their respective servers.
>> from the front end server from Dom0.

For some time leave this part of question let us run all the rtmp
server on 1935 only.

> The simplest thing to do is either ensure that the DomU's containing the
> streaming servers are on different IP addresses
I am using different IP (but they are only available on LAN)
to internet the end user does not even know that he got served via
Different Virtual Machines.

> and then you can use those
> urls for the specific DomU without change, or if you really want to have
> different ports then specify the port in the url such as:
> rtmp://site1.mydomain.com:8888 where 8888 is the port that the streaming
> server is listening on.
Not very clear about this one.
>
>> What do I need to handle in this case ?
>>
>> IPTABLES came to mind instantly but from the client browser on
>> internet when some one requests
>> rtmp://site1.mydomain.com
>>
>> how will I make sure this rtmp request is mapped to a port different
>> than
>> 1935 as there are three other streaming servers which are also to
>> respond to their respective requests
Well I want the requests coming at 1935 for rtmp protocol based on
host names be served via
different virtual machines.(which have different domains to server)

>> For handling HTTP requests in this case I use Apache Reverse Proxy
>> but for rtmp requests I am not clear as which direction to proceed.
>>
>
> In general, try to keep it simple, the above can work, but is difficult to
> implement and maintain. It requires an good knowledge and understanding of
> iptables and Squid in each case.
Well all this is for a learning experience so let me know,
I know how to set up IPTABLE and Squid.
What else is needed.

> If you provide some specific information on the networking side of the
> DomU's then I might be able to be more specific.

DomU1 192.168.1.2
DomU2 192.168.1.3
DomU3 192.168.1.4
DomU4 192.168.1.5

Dom0 is 192.168.1.1

> Rgds
>
> Simon.
>
>
>

Let me know if you need any more information.

-- 
Tapas
http://mightydreams.blogspot.com
http://wiki.xensource.com/xenwiki/Xen_on_4_app_servers

_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.