You can use a pure ruby resolver if you want. For example
https://github.com/socketry/async-dnsBut that way your sacrificing integration into your system's nsswitch which may want to do something completely different with your requests.
You could also query over dbus which can be async https://www.freedesktop.org/software/systemd/man/latest/org.... (if you can depend on systemd)