[aida] Deployment Question

Janko Mivšek janko.mivsek at eranova.si
Tue Oct 7 19:22:05 CEST 2008


Hi Bruno.

Bruno Buzzi Brassesco wrote:

> It is possible with AIDA to deploy multiple Virtual Machines (for
> scalability)?

Yes, you can run multiple images behind the load balancer. Proved in 
practice.

> Since every object in AIDA has a unique (life long) id, how different VM
> share this information ?

This id is an object's Url in our case which by default maps to object 
reference and vice versa with help of URLResolver.

There are many ways to solve that problem (IMO, because I don't have 
much experience with RDBs):

- if users have a separate data, just direct their sessions always to 
the same image (set session affinity on load balancer),
- store url to database too and by making your own special URLResolver 
to make an appropriate call to a database with an url as a key,
- auto make Urls from some unique key of your objects in RDB, with your 
own URLReslover,
- use one transaction per request, with commit at the end of each 
request, which will then sync data to other images (Gemstoners trick),
- in case of commit conflicts just rerun that request (again Gemstoners 
trick).

> For example:
> anObject recovered from a RDB in one image has it's id, but a second VM
> recover the same object from RDB, is the id the same ?
> 
> Or may be multiple virtual machines with one object space.

I hope above hints answer your questions a bit.

Janko


-- 
Janko Mivšek
AIDA/Web
Smalltalk Web Application Server
http://www.aidaweb.si


More information about the Aida mailing list