Well, he could then simply forget the external state server and gain
another huge amount of speed :-)

And, if you talk of a farm etc., the state server MIGHT become the
bottleneck at one point.


Regards

Thomas Tomiczek
THONA Consulting Ltd.
(Microsoft MVP C#/.NET)

-----Original Message-----
From: Jeff Reese [mailto:[EMAIL PROTECTED]] 
Sent: Dienstag, 4. Juni 2002 21:02
To: [EMAIL PROTECTED]
Subject: Re: [DOTNET] OO Architecture question...

I'm curious why you say that it is necessary to make sure that a user
stays within his original server.  The original poster mentions that he
would be using load balancing with a dedicated state server.  Is there a
reason other than state management that you want him to keep his users
requesting the same server?

Jeff Reese
[EMAIL PROTECTED]

-----Original Message-----
From: Thomas Tomiczek [mailto:[EMAIL PROTECTED]] 
Sent: Monday, June 03, 2002 9:47 PM
Subject: Re: OO Architecture question...

(a) for web farms you need to make SURE that a user stays with his
original server. This CAN be done - most load balancing systems support
this, often on the basis of either:
        (1) redirecting the incoming user to a specific server, you find
this on certain communities, where you are immediately redirected to a
specific server in the farm.
        (2) redirecting the user on every request on the basis of a
cookie set (session cookie, for sure).

(b) you want to ensure that you have plenty of RAM :-) And IF you keep
your data chunks small, then you can store a LOT. Another possibility
THEN (if you run out of memory) is to use cache servers that store the
data between the web server and the database server. Design with this in
mind :-)


Regards

Thomas Tomiczek
THONA Consulting Ltd.
(Microsoft MVP C#/.NET)

-----Original Message-----
From: Francesco Sanfilippo [mailto:[EMAIL PROTECTED]] 
Sent: Montag, 3. Juni 2002 20:20
To: [EMAIL PROTECTED]
Subject: [DOTNET] OO Architecture question...

I am designing a .NET web community app (ala MSN, Yahoo) in C#.  I want
it
to be as OO as possible, but maintain scalability and performance.
Here's
what I have so far...

Create a Member object when a user signs in.  Run a single sproc that
returns multiple result sets to populate various strings, ints, and
DataTable properties of the Member object.  Store the Member object in
Session.  DataTables represent 1-to-many relationships, like a member's
buddy list.  SELECT/UPDATE/INSERT/DELETE methods for each table are
methods
of the Member class.  When a data-modifying method is called
(UPDATE/INSERT/DELETE), the sproc returns a fresh copy of the data to
repopulate the DataTable being changed.  Outside of the initial bulk
load,
the DB is hit ONLY when a data-modifying method is called, since the
user-specific data is pre-cached.

This heavily minimizes DB hits, keeps small chunks of user data close at
hand, and maintains an OO design.  What I am concerned with is how well
it
will scale, perform with lots of concurrent users, and work in a web
farm
scenario (assuming use of a dedicated state server)?  Also, would saving
these DataSets for Members in Cache be better than stuffing them into
Session?

Thanks in advance...

Francesco Sanfilippo
ASP, .NET, SQL, C#
San Diego, CA.

_________________________________________________________________
Send and receive Hotmail on your mobile device: http://mobile.msn.com

You can read messages from the DOTNET archive, unsubscribe from DOTNET,
or
subscribe to other DevelopMentor lists at http://discuss.develop.com.

You can read messages from the DOTNET archive, unsubscribe from DOTNET,
or
subscribe to other DevelopMentor lists at http://discuss.develop.com.

You can read messages from the DOTNET archive, unsubscribe from DOTNET, or
subscribe to other DevelopMentor lists at http://discuss.develop.com.

Reply via email to