Dave,
the HA MBean, see
http://docs.neo4j.org/chunked/snapshot/operations-monitoring.html is
giving you information about what instance currently being master, so
you can use that information to set up your load balancing. Would that
work?

Cheers,

/peter neubauer

GTalk:      neubauer.peter
Skype       peter.neubauer
Phone       +46 704 106975
LinkedIn   http://www.linkedin.com/in/neubauer
Twitter      http://twitter.com/peterneubauer

http://www.neo4j.org               - Your high performance graph database.
http://startupbootcamp.org/    - Öresund - Innovation happens HERE.
http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party.



On Sat, Aug 20, 2011 at 2:55 AM, David Rader
<dra...@allianceglobalservices.com> wrote:
> In order to configure a load balancer to target all reads or all writes to 
> the master in an HA - what's the best way to do this?
>
> For instance, if you had a single source of updates and many clients reading 
> you might want to load balance the slaves as read-only and have the updates 
> all flow to the master node. Since the master is elected and will change 
> after a crash, what's the best way to "see" which node is the master and 
> dynamically update a load balancer to correctly direct traffic?
> Or, what's the best way to update DNS entries to point to a 
> master.neocluster.company.com vs. slave.neocluster.company.com or such?
>
> Thanks
> Dave
>
>
> Date: Fri, 19 Aug 2011 11:12:05 +0300
> From: Tuure Laurinolli <tuure.laurino...@portalify.com>
> Subject: Re: [Neo4j] HA consistency
> To: Neo4j user discussions <user@lists.neo4j.org>
> Message-ID: <4d3381ef-89dc-402f-9efe-77d72131e...@portalify.com>
> Content-Type: text/plain; charset=us-ascii
>
>
> On Aug 19, 2011, at 07:57 , David Rader wrote:
>
>> It looks like the HA implementation is for eventual consistency, tunable by 
>> how often a slave polls the master for updates from other nodes.
>>
>> With a load balanced cluster, is the best practice to simply use sticky 
>> sessions on clients to ensure that immediate reads of updated data are 
>> served by the same node that wrote the update and are therefore consistent? 
>> Any other recommended approaches?
>
> If your goal is HA, there are two other approaches:
>
> 1) Always read from master
>
> and
>
> 2) Always take read lock on things you read
>
> Always reading from master works because writes are synchronously replicated 
> to master, and taking a read lock works because taking a read lock always 
> synchronizes with master (although it of course also disallows related writes 
> for the duration of your transaction). These solutions affect write 
> performance (reading from master consumes master capacity, and taking read 
> locks prevents other transactions from completing). Read performance is 
> certainly affected as well compared to sticky sessions, and is likely to be 
> considerably lower because of the synchronization requirements, and load on 
> master.
>
> Consistency guarantees would be as follows:
>
> - Reading from arbitrary slaves guarantees very little
> - Sticky sessions guarantee read-everything-up-until-your-previous-write
> - Reading from master guarantees consistency re: communications over side 
> channels (if another node, after committing, tells you that he wrote 
> something, you can see that write, or possibly some newer write)
> - Taking read locks guarantees 
> read-everything-up-until-your-previous-lock-request and also repeatable reads
> _______________________________________________
> Neo4j mailing list
> User@lists.neo4j.org
> https://lists.neo4j.org/mailman/listinfo/user
>
_______________________________________________
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user

Reply via email to