Skip to content

Support health monitoring in resolver load balancing #537

@emlimap

Description

@emlimap

Currently, when you have a group of resolvers, your options are limited to round robin, random, fail-rotate, fail-back, and fastest. While these all work, there's a problem when one or two resolvers experience latency and/or timeout issues that aren't currently accounted for. Recently, one of my resolvers timed out, and any queries routed to that resolver failed, causing issues for end devices.

In AdGuard Home, it offers a load balancing option that factors in response times and failures. Here are all of their options:

Image

It is also an open source project written in Golang https://github.com/AdguardTeam/AdGuardHome/

The DNS part like the above options are handled by this https://github.com/AdguardTeam/dnsproxy

I also think renaming fastest to parallel would be more accurate. However, that would be a breaking change for users currently using that option.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions