from Hacker News

Go Micro – A Go microservices development framework

by chuhnk on 12/25/19, 2:41 PM with 41 comments

  • by runlevel1 on 12/25/19, 4:16 PM

    mDNS is an interesting choice for service discovery. Neat idea for local development, but probably not great in production.

    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.

    Looks there is support for other service discovery mechanisms via plugins, though.

  • by bradhe on 12/25/19, 5:50 PM

    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.

    > PubSub is built in as a first class citizen for asynchronous communication and event driven architectures.

    Would be interested to see how this is implemented and what it’s consistency and reliability dynamics are.

  • by lhopki01 on 12/25/19, 10:00 PM

    Have care with using this. We were using it and repos were renamed and moved causing all sorts of issues.
  • by tyingq on 12/25/19, 3:56 PM

    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.
  • by ainar-g on 12/25/19, 4:04 PM

    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.