I am playing with Riak 1.4.7 in order to get an insight about its characteristics.
As I know the recommended best practice mode of production Riak operation suggests placing Riak behind a load balancing. For this purpose, we can use HAProxy.
Can you tell me how can we ensure strong consistency (R=Q, W=Q)?
For example, let's assume I have a Riak cluster consists of 3 nodes. My Riak Java Driver based client communicates with the ring via HAProxy. What happens if the client wants to write entries w=quorum? How can the client be sure that at least two nodes confirmed the write if it only communicates with the HAProxy? I would assume that my client would think as it only communicated with a 1-node Riak cluster. Therefore it can never be sure how many Riak nodes confirmed the store operation. Is it correct or am I mistaken?