dev@glassfish.java.net

Re: migration: weblogic -> glassfish : multiconnection pool and multi data sources

From: Jagadish Prasath Ramu <Jagadish.Ramu_at_Sun.COM>
Date: Tue, 20 Nov 2007 11:36:25 +0530

On Mon, 2007-11-19 at 21:48 -0800, Sreeram Duvur wrote:
> > GlassFish has 1:1 jdbc-resource-> jdbc-connection-pool mapping. With
> > clustered pool, it will be 1:* jdbc-resource-> multiple connection
> > pools. This would help to provide load balancing and fail-over behavior.
> >
> IMO, the load balancing and failover do come with some assumptions that
> are worth noting.
>
> - load balancing works well with read only data. may be this is the
> common use case?
> - if writes load balanced across multiple data sources will cause data
> inconsistency issues. write to one and read from another.
> non-determinacy issues for applications.
> - if failover occurs, user has to ensure that the new resource has all
> the writes done to the previous resource

>
> I wonder if Weblogic mirrors the writes to all databases to avoid
> inconsistency issues? That could solve consistency issues. But one could
> get into distributed transactions issue, where TM would have to deal
> with two resources that actually represent one physical resource.
> Solvable but complicated.
Typical usage of clustered pool is for "highly-available, clustered"
databases. Oracle RAC / MySQL Cluster will have multiple nodes that
accesses *same data store*. Individual pool in clustered pool will be
configured to these nodes so as to provide connect time ( or
request-time) fail-over, load balancing capabilities.

>
> May be there are some nice use cases where this is perfect.
>
> > AFAIK, multi datasource and multi pools will behave the same,
> > difference being the way in which they are represented in configuration.
> >
> That was my conclusion too after a quick look.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe_at_glassfish.dev.java.net
> For additional commands, e-mail: dev-help_at_glassfish.dev.java.net
>