Re: WebObjects scalability question
Re: WebObjects scalability question
- Subject: Re: WebObjects scalability question
- From: Pascal Robert <email@hidden>
- Date: Mon, 15 Nov 2010 15:11:59 -0500
2010/11/15 Greg Lappen
<email@hidden>
Thanks for all the feedback everyone!
It seems like there are a few different ways to scale WebObjects horizontally, but nothing that is included in the WebObjects core. And there is definitely a lack of documentation on this topic around the interwebs, so I guess it's a DIY kind of project.
Do a WOWODC session if you get your apps to scale properly :-)
Thanks all!
Greg
On Mon, Nov 15, 2010 at 2:30 PM, Andrew Lindesay
<email@hidden> wrote:
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
_______________________________________________
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