I developed a web application. It will run on a farm of five IIS servers. It's absolutely essential that once a session is established with a server in the farm, further HTTP requests within that session are directed to that same server for the remainder of the session.
Today I discovered F5's web site and learned about "sticky sessions." Due to the fact that most of my users will be mobile (e.g. iPhone), it's possible that their IP address may change in the midst of a single session. This means that the source IP can't be used to identify unique sessions. White papers suggest that the F5 LTM device provides a solution for this, allowing me to use content within the HTTP request itself [or a cookie] to determine session identity.
So far so good. But then I got to thinking… That F5 device is a single point of failure. Furthermore, what if I drastically increase capacity and want to add more F5 devices? Setting up a cluster of them makes sense. But despite Googling as best I can, I can't find a white paper describing the basic concepts of how a cluster functions "under the hood."
Consider… Let's say I buy two F5 devices. They share a common "virtual" IP on the external (Internet-facing) interface of my network. An HTTP connection comes in and somehow the two devices determine that F5 #1 should answer the call. F5 #1 now has an in-memory map that associates the identity of that session [via cookie, let's say] to internal web server #4. Two minutes later that same customer initiates a new HTTP connection as part of the same session. The destination "virtual" IP is the same but his source IP address has changed. How in the world could I guarantee that F5#1 will receive that connection instead of F5#2? If the former receives it, we're in good shape because it has an in-memory map to identify the session. But if the latter receives it, it won't be aware that the session is associated with web server #4.
Do the two F5 devices share information with each other somehow in order to make this work? Or is the configuration I'm describing just not a practical/common way to do things?
Sorry for the newb questions… this stuff is all new to me.