Difference between go-micro and micro repos #2724
-
There are two repositories by the name go-micro and micro. What is the difference between them and what shall we use for development of microservices? Is it possible to add open-policy-agent as a plugin for authorization and connect to Kratos using OIDC for authentication? |
Beta Was this translation helpful? Give feedback.
Replies: 4 comments 1 reply
-
Go-micro is a framework like kratos and others. It's highly pluggable and sits at the center of you're code. You write your services with it and then choose the infrastructure you want to run beneath that. Everything is very modular. Micro on the other hand is a complete platform which includes it's own storage, service discovery, authentication, pubsub, API gateway, command line. It's meant more where you want to boot up an entire platform and dev environment without having to piece it all together. Micro was originally built around Go Micro but the projects have since diverged since the Go Micro users mostly wanted more control over their infrastructure choices. So Micro is more like an opinionated PaaS. |
Beta Was this translation helpful? Give feedback.
-
Thanks for the quick response. Does this mean: go-micro + plugins (repo) = micro. Where does the 'plugins' repo actually fit in, I am not able to understand. Cannot we use it with micro? |
Beta Was this translation helpful? Give feedback.
-
I guess it'd be a time-consuming task.
Is there any application that demonstrates couple of services making use of the pluggable infrastructure? So if we decide to use go-micro, we have to take care of several things ourselves like Service discovery, authentication, API gateway, and what else? |
Beta Was this translation helpful? Give feedback.
-
I think the plugins repo shows how you make use of it. There might be some things in https://github.com/go-micro which was community maintained If you do use go-micro then yes you're constructing the whole platform around it |
Beta Was this translation helpful? Give feedback.
Go-micro is a framework like kratos and others. It's highly pluggable and sits at the center of you're code. You write your services with it and then choose the infrastructure you want to run beneath that. Everything is very modular.
Micro on the other hand is a complete platform which includes it's own storage, service discovery, authentication, pubsub, API gateway, command line. It's meant more where you want to boot up an entire platform and dev environment without having to piece it all together. Micro was originally built around Go Micro but the projects have since diverged since the Go Micro users mostly wanted more control over their infrastructure choices. So Micro is more like an…