Re: WebObjects scalability question
Re: WebObjects scalability question
- Subject: Re: WebObjects scalability question
- From: Andrew Lindesay <email@hidden>
- Date: Tue, 16 Nov 2010 08:30:12 +1300
Hi Greg;
#1 - Only one thread can be processing at once. I seem to recall that
this is a limit in EnterpriseObjects but it's been a while.
You are right that one EOF stack can only be used by one thread. You
can load-up multiple EOObjectStoreCoordinators into a pool and use those
within one virtual machine to create instances of EOEditingContext-s. I
think there's some material in PW for this or you could roll your own.
For bulk data processing such as a billing system, one approach is to
use a "map/reduce" approach. Divvy up the work into little parcels and
then distribute them to other virtual machines each with their own EOF
stack. This spreads the load across available CPU and memory resources.
With that being said, how can you horizontally scale your application
layer? If you setup more instances of your app, they each have their
own caches, which will be out of sync with each other. Is there a
commonly used framework for doing distributed cache management? And is
it possible to make your applications multithreaded so page requests can
be processed concurrently?
Yes you can "process concurrently" -- there's a setting for that or you
can use;
WOApplication.setAllowsConcurrentRequestHandling(..)
For handling keeping caches consistent, you can use a "change
notification" system. This will shift changes from one EOF stack into
other EOF stacks. This works really well and there is an implementation
in PW as well as other implementations available.
cheers.
--
Andrew Lindesay
www.silvereye.co.nz
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden