mDNS is an interesting choice for service discovery. Neat idea for local development, but probably not great in production.<p>I believe most cloud providers don't support multicast, meaning mDNS would not work there. It's also quite slow and/or very chatty in large networks.<p>Looks there is support for other service discovery mechanisms via plugins, though.
This looks pretty new and under developed. In a world of service mesh proliferation not sure where this fits as there is some feature overlap.<p>> PubSub is built in as a first class citizen for asynchronous communication and event driven architectures.<p>Would be interested to see how this is implemented and what it’s consistency and reliability dynamics are.
Seems like a sort of light service mesh, but delivered from within the app, and very straightforward. I'll have to look at mDNS, had heard of it, but never read into it.
Probably mostly off-topic, but every time I see the words “Go” and
“framework” together in a sentence, I can't help but chuckle. Go is,
idiomatically, a very anti-framework and pro-library language. And
I think that that's a good thing. The closest thing idiomatic Go has to
frameworks are the stdlib's “interface packages” like package image or
package database/sql/driver, which are amazing because they make it
easier to create an actual ecosystem instead of a network of
incompatible frameworks. Anyone who wants to create a “framework” for
go should instead learn from those packages and try to define a set of
interfaces which work together to achieve a goal.