Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Using the Create() method for connecting to Event Store cluster via a load balancer in conjunction with Node Preference settings results in inconsistent connectivity behaviour #33

Open
LewisCarey2 opened this issue Dec 11, 2019 · 1 comment

Comments

@LewisCarey2
Copy link

Describe the bug
Using the Create() method for connecting to Event Store cluster via a load balancer in conjunction with Node Preference settings results in inconsistent connectivity behaviour. If the client lands on the preferred node during the initial connection through the ELB, the client will remain connected to that node through the ELB. If the client does not land on it's preferred node, it will reconnect directly to the prefered node. The result is some clients connected through the ELB and some connected directly to nodes.

Expected behavior
The behaviour should be consistent - either always through the load balancer or directly to a node.

Related to #32 - this issue happens when our clients have connected over load balancer via the Create() method.

@oskardudycz oskardudycz transferred this issue from EventStore/EventStore Jan 5, 2022
@oskardudycz
Copy link
Contributor

We do not recommend using Load Balancers in front of ESDB. ESDB internally supports load balancing based on the Node Preferences. Depending on the node preferences and configuration of the ELB the result may be unpredictable. E.g. the load balancer may keep the sticky connection to the node, or if you're not using the default leader preference then ESDB may select a different node than the previous one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants