Scott, Good question.

Each service runs independently, as you would expect a single server to
run. The variables, user, domain, etc., are managed per service. This
can cause some issues with higher scopes, because you might update the
contents of the domain scope without doing it to all services, and have
out of sync data.

For users, the client does a nice little trick. First off, it's
important to describe two things: Each Witango service is known to the
client by its IP address and TCP port, thus the default clients.ini
contains 127.0.0.1,18100 (this machine, default port). When you move the
services to a remote server, you must use the real IP. When adding more
than one service to a server, you must use differing ports. 2 servers
each with 2 services is my preferred setup and looks like:
192.168.1.1,18100:192.168.1.1,18101:192.168.1.2,18100:192.168.1.2,18101

The second tidbit is that each service in the stanza (between the
colons) has an equal chance to receive an incoming new user. At this
point selection is random, however, you can weight a service by adding
it more than once. I say 'new user' here because once a Witango service
is selected for a user, the request is tagged with the service's IP and
PORT. This IP and PORT information is then appended to the beginning of
the user reference.

This explains why the userreference on a single server is 24 characters
long, and the userreference on a load balanced server is 36 characters
long. The 12 additional characters are the IP and port of the Witango
service to which the user 'belongs'. This is read by the client on
subsequent incoming requests and used to select the target service. It
is not stripped so if you log userreferences you must be ready for a 36
character string, and you can read the first 12 characters to determine
which server executed you request.

Robert

-----Original Message-----
From: Scott Cadillac [mailto:[EMAIL PROTECTED] 
Sent: Friday, December 12, 2003 12:19 PM
To: [EMAIL PROTECTED]
Subject: RE: Witango-Talk: Load Balancing Question

Thank you Robert, you're a valuable resource in this field.

So I'm wondering, because I've never used load balancing with Witango -
how
does the client handle Session Management and the access of User Scoped
Variables?

~~ After the client decides which Server the visitor's request is
assigned
to, does all subsequent request from the same visitor always go to that
same
Server? So that any User Scoped Variables for that visitor are active on
just one Server?

~~ Or, does the client somehow manage where to store User Scoped
Variables
for a specific visitor - similar to how you described file management?

~~ Or, is it some other process. It seems for every web platform out
there,
there is a different technique.

Let us know, when you have a moment. Thank you in advance.

Cheers....

Scott Cadillac,
Witango.org - http://witango.org
403-281-6090 - [EMAIL PROTECTED]
--
Information for the Witango Developer Community
---------------------

XML-Extranet - http://xmlx.ca
403-281-6090 - [EMAIL PROTECTED]
--
Well-formed Development (for hire)
---------------------
 

> -----Original Message-----
> From: Robert Shubert [mailto:[EMAIL PROTECTED] 
> Sent: Thursday, December 11, 2003 7:48 PM
> To: [EMAIL PROTECTED]
> Subject: RE: Witango-Talk: Load Balancing Question
> 
> Load balancing is achieved by the client (wiis.dll for 
> example) being told that there are more than one Witango 
> server available to answer requests. The client actually 
> passes the user's request (GET or POST) to the server which 
> in turn determines which TAFs, or TCFs it needs to run.
> It first checks its local memory cache for the files, and if 
> not present, it requests the files to be sent by the client. 
> Therefore it is true to consider that the web server, which 
> contains the Witango client, is where the TAFs are considered 
> 'local', and are sent from there to the Witango servers (or 
> services). 
> 
> In my setup, my two Witango servers are distinctly separate 
> from web serving and database duties. It's also nice because 
> you can do the reverse where more than one web server 
> interacts with one Witango server.
> 
> Note that when purging the cache (<@PURGECACHE>), it must be 
> done on all services, or you will have out of sync applications.
> 
> Hope that helps some.
> 
> Robert
> 
> -----Original Message-----
> From: Dave Machin [mailto:[EMAIL PROTECTED]
> Sent: Thursday, December 11, 2003 11:21 AM
> To: [EMAIL PROTECTED]
> Subject: Witango-Talk: Load Balancing Question
> 
> I set up a test of load balancing between 2 WiTango servers 
> yesterday, and found something I didn't expect.  I have 
> server A and server B - the actual .taf files are only on 
> server A.  However, when requests were handled by server B it 
> didn't complain that the .taf files were unavailable locally. 
>  Does server B load the .taf files from server A?
> If the files were available on server B would it load it's 
> own local copies?
> 
> Dave Machin 
> 
> 
> E-Mail. [EMAIL PROTECTED]
> Tel.  805.614.0123 x 30
> Address: 3130 Skyway Drive #702
> Santa Maria, CA
> 93455________________________________________________TOUNUBCRB
> E G t htp//wwwiano.ommallstta
> 
> ______________________________________________________________
> __________
> TO UNSUBSCRIBE: Go to http://www.witango.com/maillist.taf
> 

________________________________________________________________________
TO UNSUBSCRIBE: Go to http://www.witango.com/maillist.taf

________________________________________________________________________
TO UNSUBSCRIBE: Go to http://www.witango.com/maillist.taf

Reply via email to