Relayd is really great! Especially in combination with OpenBSD and CARP.
The original author of relayd also made a Rust prototype: https://github.com/reyk/relayd-rs
One thing to note about relayd is that it only resolves names (DNS) at startup. Meaning if the name of a host changes you will need to reload relayd.