Niklas Uhrberg wrote:
>   A slight variation inspired by  the Jini lookup-cache and 
> ServiceDiscoveryManager ( 
> http://java.sun.com/products/jini/2.1/doc/api/net/jini/lookup/ServiceDiscoveryManager.html)
>   
> is to maintain the aggregate locations continuously (or periodically to 
> be exact) to minimize latency.

That works too!

> This will incur more network traffic just to ping aggregates or their 
> "homes" but again, the nature of the application determines if this is 
> worth the price.
> I would think that this scenario isn't very common but worth having in mind.
> 
> The assumption here is that aggregates can change location, but this 
> should be an exceptional case right?

Not really. If repartitioning is seen as something natural, instead of 
something that requires major magic, then I can definitely imagine that 
if some not-co-located aggregates talk to each other a lot, they would 
be repartitioned automatically to the same location, simply because the 
usage pattern is such that they talk to each other a lot. Kind of like 
people moving to neighbourhoods where other people they like to talk to 
live. Makes sort of sense, and in computer terms it would definitely 
reduce latency and the need to send messages over the network.

> If we acknowledge the benefit of "shared nothing" architectures they 
> should ideally talk to co-located aggregates only (knowing that this is 
> far from realistic in many cases).

If you include the above we can have a system that assumes that it is 
non-ideal, but at the same time works to make it as ideal as possible :-)

/Rickard

_______________________________________________
qi4j-dev mailing list
[email protected]
http://lists.ops4j.org/mailman/listinfo/qi4j-dev

Reply via email to