Alpha Preference Upon Vote

We anecdotally see better ingest performance when we send data ingest directly to the alpha leader.

Is there a way to set a priority to one of the alpha’s so when an election is fair and balanced, one designated alpha has a priority to become the leader over the others?

Or, is there a way to initiate a vote and nominate a specific alpha to be the leader?

No, and no. What you can do, however, is build your own load balancer(let’s say in Go) that monitors Dgraph’s state endpoints. That way, it can handle the behavior you’re aiming for.

I had been thinking about creating some kind of proxy to do exactly that, but I never actually got around to starting it.

I believe this happens because all cluster state changes must go through the leader. In a clustered setup, the other nodes basically act as proxies for the leader. They need to forward and replicate transactions to it. That’s why it adds more overhead: more network communication, more serialization and deserialization, and so on.