hashicorp / hashicorp/consul

DNS round-robin based on SRV weight/priority

Open
#1,088 42 comments 33 reactions 0 assignees View on GitHub
theme/dns theme/service-metadata type/enhancement
Dominant language
Go
Stars
30.1k
Forks
4.6k
Avg merge
1d 18h
Merged PRs (30d)
39

Description

Since consul already have SRV records support, is it possible to implement following RR scheme:
1. Check script change SRV priority/weight for node with consul client
2. Consul agent use SRV weight for RR response for .service. requests. For example when one of nodes have LA> 10, we set it priority as 1, other node has default priority 0, now RR will return A record for node with priority 0 75%, for priority 1 25%. After LA becomes lower then 1, we set priority=0 for node and RR return 50% for each of two nodes.

Contributor guide

Open the contributing guide

Research direction

Start with Consul's existing SRV-record support and the Consul agent path that serves .service DNS requests. Trace how service health or node state reaches DNS responses, then determine how SRV priority and weight should produce the requested proportions. Done means the scheme is implemented and its priority/weight behavior is covered by tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
distributed-systems, networking
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.