jimbobrocks
asked on
XenApp6 WI Load balancing
I am trying to set up a HA Citrix Farm in the Amazon cloud. I am thinking of deploying two WI servers. I am not a big Citrix Expert but as far as I know the remote client will connect to the WI via HTTPS and then open a connection using ICA protocol port.
I can balance the HTTPS without any problems using an Elastic Load Balancer and keeping sticky session, but however I cannot do the same with the TCP/ICA connection and the balancer may change from one WI to the other which I guess will break the session of the user.
Does anyone have any idea/suggestion on how to avoid this? In worst case I would set them up to work as primary and failover but I would like to be able to use both to leverage the load.
Many thanks.
I can balance the HTTPS without any problems using an Elastic Load Balancer and keeping sticky session, but however I cannot do the same with the TCP/ICA connection and the balancer may change from one WI to the other which I guess will break the session of the user.
Does anyone have any idea/suggestion on how to avoid this? In worst case I would set them up to work as primary and failover but I would like to be able to use both to leverage the load.
Many thanks.
ASKER
Hi there,
As far as I know once you access the WI you download a ICA file when you click an application, that ICA file launchs the Citrix Client which opens a binary TCP connection to the balancer again. Unfortunately I cannot balance based on source IP (ELB only will allow me to balance based on cookies sessions) so the binary Citrix connection can go to a different server or in the middle of the session to be changed to another server WI. I expect this to cause all kind of troubles. Am I correct?
So I wanted to know if someone achieved some solution to this or I will just need to make them work in failover mode.
Regards.
As far as I know once you access the WI you download a ICA file when you click an application, that ICA file launchs the Citrix Client which opens a binary TCP connection to the balancer again. Unfortunately I cannot balance based on source IP (ELB only will allow me to balance based on cookies sessions) so the binary Citrix connection can go to a different server or in the middle of the session to be changed to another server WI. I expect this to cause all kind of troubles. Am I correct?
So I wanted to know if someone achieved some solution to this or I will just need to make them work in failover mode.
Regards.
When you use load balancing you would want to achieve a balance to the load incoming on the Web interface servers (as well as if you wish on the XML broker servers).
The XML broker server returns at the end of the whole communication the ica file to the web interface which in turn returns it to the client. That file will contain the XenApp server with the least load (which is the role of the data collector - the data collector returns the least loaded server using an intelligent algorithm).
At this point, the client will no longer need the web interface. It will directly contact the XenApp servers to access its applications.
Therefore you use load balancing appliances to load balance the Web Interface servers (and XML brokers if you wish) and you leave the Data Collector to load balance your XenApp (which is by design).
The XML broker server returns at the end of the whole communication the ica file to the web interface which in turn returns it to the client. That file will contain the XenApp server with the least load (which is the role of the data collector - the data collector returns the least loaded server using an intelligent algorithm).
At this point, the client will no longer need the web interface. It will directly contact the XenApp servers to access its applications.
Therefore you use load balancing appliances to load balance the Web Interface servers (and XML brokers if you wish) and you leave the Data Collector to load balance your XenApp (which is by design).
ASKER
Hi there,
Mh that it is interesting. Does it mean that the ICA file will have the IP of the XenApp server the application it is running in? So WI and XML Services are not used again until next application it is launched?
Regards.
Mh that it is interesting. Does it mean that the ICA file will have the IP of the XenApp server the application it is running in? So WI and XML Services are not used again until next application it is launched?
Regards.
The web interface and XML is used to validate the user credentials and enumerate all the user's applications and this is the point where the user sees all his applications.
Once the user launches the first application the data collector will return the least loaded server hosting that application. If session sharing is enabled, each subsequent application (also hosted on that server) would launch on the same server. When the user launches an application not hosted on that server, the data collector will return another least loaded server but this time hosting that application. At which point the client will have more than one server to contact.
Once the user launches the first application the data collector will return the least loaded server hosting that application. If session sharing is enabled, each subsequent application (also hosted on that server) would launch on the same server. When the user launches an application not hosted on that server, the data collector will return another least loaded server but this time hosting that application. At which point the client will have more than one server to contact.
ASKER
Forgot to mention the WI is NATed (it will be exposed to the Internet). So it is ok for me to assume only HTTP(s) needs to be load balanced to have a functional HA farm?
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
However, I didn't quite get what do you mean by load balancing TCP/ICA and what/why do you want to achieve that.