IMHO Bonjour/mDNS adds a lot of points of failure and doesn't really buy you much. It's so easy to just open a multicast listener port on a specific address and port and then just send out UDP packets to communicate.
mDNS [0] itself is "just" send/listen to multicast UDP packets on a specific address (224.0.0.251 and/or ff02::fb) on a specific port (5353). The only real complication to mDNS itself is that the format of the packets you send/receive are designed to resemble (regular, unicast) DNS and it's a complex (but well known) binary packet format.
The complications most people associate with Bonjour/Avahi and its "points of failure" are most often issues with optional add-on standards such as DNS-SD [1] UPnP [2], and other related add-on standards on top of mDNS that make up so called "zero-conf networking". You don't need DNS-SD or UPnP to use mDNS for basic hostname discovery.