6 ms·
Go Micro v2.4.0 – Go microservices development framework
- bo0tzz 7y agoThis post links to a release on github. It might be clearer to link to the project homepage instead: https://go-micro.dev/ https://go-micro.dev/
- dang 7y agoA thread from 3 months ago: https://news.ycombinator.com/item?id=21878659 https://news.ycombinator.com/item?id=21878659
- cabernal 7y agoThis is reminiscent of https://github.com/moleculer-go/moleculer https://github.com/moleculer-go/moleculer. I have not used it personally. I have worked with moleculer-js, which I've had great time using (https://github.com/moleculerjs/moleculer https://github.com/moleculerjs/moleculer).
- chuhnk 7y agoMicro started in 2014 and from what I could tell molecular took a lot of ideas from it to creat something in the JS ecosystem.
- chuhnk 7y agoHey! Asim here (author). Feel free to ask any questions. Was not expecting this to hit the front page.
- tech_dreamer 7y agoIs it possible to create a tutorial showing features end-to-end (using CLI / Code generation)? I have seen a couple of high quality tutorial series on web - but they are advocating usage of 1.18 version.
- chuhnk 7y agoSure, what kind of tutorials are you interested in? Written form or video? We're thinking about doing a video walkthrough series potentially in live form.
- gtycomb 7y agoWritten form please. This saves time in many ways, such as searching for certain chunks of information when trying to form an early opinion on how this product fits one's need. I went through your dev documentation today and the organization is good. I wish you would present the more detailed booking example in the same conversational style as the shorter hello world example at start. When a developer sees the first page with the bullets of interesting features (service discovery, load balancing, etc), they would want to get a broader picture of the architectural approaches combining these features (through coding examples). Interesting work. Thanks for creating it.
- gigatexal 7y agoBuilt in NATs, RPC, mDNS, this all seems really compelling. Is anyone using this at scale in production? What have been the pain points?
- mpfundstein 7y agoI think thats not really micro.service anymore. It creates a lock in we dont want. Why not build a monolith then?
- chuhnk 7y agoMicro focuses on providing distributed systems programming as a single framework, so it takes all the patterns you'd normally leverage and puts them in one place for you to easily build services. We do this with a pluggable model so you can pick and choose underlying infrastructure dependencies or a zero dep model if you choose. Its very powerful and our hope is the next generation of services are built using it.
- gigatexal 7y agoGiven that the functionality incorporates a lot of things one would usually create for a service being run on something like Kubernetes does it run well on Kubernetes? Or are there clashes?
- chuhnk 7y agoMost of our users run this on kubernetes. Developers want an abstraction that is not kubernetes or infrastructure. Something simpler entirely focused on the development of services. So it fits well. We run it on kubernetes.
- andy9775 7y agoWould I use micro on top of k8s? Doesn't seem to make sense to mix the two as far as I can tell.
- chuhnk 7y agoActually Micro is the exact thing you would use ontop of kubernetes. Micro was built to tame the world of cloud-native complexity and focus on developer needs. You can think of Micro as an abstraction layer over distribute systems infrastructure, hiding the complexity from the developer and providing a pluggable system which allows it to operate in any environment. This means locally a dev can run with zero deps but in prod someone from the ops team can switch to etcd, cockroach, kubernetes, etc. Predominantly the majority of our users are using Micro on top of K8s. Their primary focus is productivity and velocity of development when building microservices.
- haggy 7y agoUsing this framework on top of kubernetes (which is itself another framework used to managed microservices) sounds like an operational nightmare. Kubernetes is already filled with operational pitfalls so adding more layers on top only increases complexity. I think Go-Micro looks cool but I wouldn't suggest layering this much more than you already are. Complexity is death for distributed systems so minimizing complexity means maximizing reliability for the systems.
- chuhnk 7y agoI'm sorry you've misunderstood what this is. This is a Go Framework for microservices development. It's what you use to write services. It's like Rails or Spring. Kubernetes is for running applications not writing them. Kubernetes no opinions about how you write software. We encapsulate the underlying infrastructure and provide a framework for the developer to literally write business logic.
- PhilippGille 7y agoThe first two features listed on the README are "service discovery" and "load balancing", which is probably where the question is coming from.
- christiansakai 7y agoI was just posting this on another forum. But I want to learn more about scalability and availability and microservices. I am quite familiar with fullstack and various databases but I need a hands on experience. Does micro have some sort of tutorials that build microservices from scratch?
- dch423 7y agoCheck "Micro In Action" series: https://itnext.io/micro-in-action-getting-started-a79916ae3cac https://itnext.io/micro-in-action-getting-started-a79916ae3c... Note: it is based on v1.18 for now. I'll update it to v2.x soon
- christiansakai 7y agoOh nice thanks!
- shlomi90 7y agoWe are looking into Dapr now. How do you compare to it? https://github.com/dapr/dapr https://github.com/dapr/dapr
- chuhnk 7y agoDapr is attempting to play in the same space as us. Using a standalone server and grpc generated libraries. We're a Go framework first as we believe development is about the tools you put in the hands of the developer meaning how they write code. We deliver the framework as a set of grpc services also which you can start with the command "micro server" and communicate through https://github.com/micro/micro https://github.com/micro/micro