Need advice about which tool to choose?Ask the StackShare community!

Go Micro

19
46
+ 1
0
Micro

60
54
+ 1
2
Add tool

Go Micro vs Micro: What are the differences?

Introduction

In this Markdown document, we will provide a comparison between Go Micro and Micro, highlighting the key differences between the two. Go Micro and Micro are both frameworks for building distributed systems and microservices.

  1. Extensibility: Go Micro provides a highly extensible framework that enables developers to easily add their own functionality and customize the system according to their requirements. On the other hand, Micro offers a more opinionated approach, providing pre-defined components and plugins to assist in building microservices, which may limit the level of extensibility.

  2. Language Support: Go Micro is primarily focused on supporting applications written in the Go programming language. It provides a Go-centric approach to building microservices, leveraging Go's features and ecosystem. In contrast, Micro aims to be language-agnostic, allowing developers to build microservices using different programming languages such as Go, Python, and Node.js.

  3. Service Discovery: Go Micro utilizes service discovery to handle the registration and discovery of microservices within a distributed system. It includes support for various service discovery mechanisms like DNS, Consul, and etcd. Micro, on the other hand, relies on its own built-in service discovery system called "mDNS" (multicast DNS), which enables decentralized service discovery without the need for external dependencies.

  4. Transport Protocols: Go Micro provides support for multiple transport protocols, including HTTP, TCP, and NATS. It allows developers to choose the most suitable transport protocol based on their use case. In contrast, Micro emphasizes the use of the HTTP protocol as the primary transport mechanism for communication between microservices.

  5. API Gateway: Go Micro does not include an API gateway as part of its core functionality. However, it provides the flexibility to build and integrate an API gateway within the system as per the developer's requirements. On the other hand, Micro offers a built-in API gateway called "Micro API" that allows developers to easily expose microservices as HTTP APIs without additional configuration.

  6. Error Handling: Go Micro focuses on providing a pluggable error handling mechanism, allowing developers to define their own error handling strategies for different scenarios. Micro, on the other hand, provides a standardized error handling mechanism that follows the microservices best practices, promoting a consistent error handling approach across services.

In Summary, Go Micro offers a more extensible and Go-centric approach with support for multiple transport protocols and flexible error handling, while Micro provides a more opinionated and language-agnostic framework with its own built-in service discovery system and API gateway.

Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of Go Micro
Pros of Micro
    Be the first to leave a pro
    • 1
      Great flexibility
    • 1
      Nice tooling

    Sign up to add or upvote prosMake informed product decisions

    - No public GitHub repository available -

    What is Go Micro ?

    It provides the core requirements for distributed systems development including RPC and Event driven communication. The micro philosophy is sane defaults with a pluggable architecture. We provide defaults to get you started quickly but everything can be easily swapped out.

    What is Micro?

    Micro is a framework for cloud native development. Micro addresses the key requirements for building cloud native services. It leverages the microservices architecture pattern and provides a set of services which act as the building blocks

    Need advice about which tool to choose?Ask the StackShare community!

    What companies use Go Micro ?
    What companies use Micro?
    See which teams inside your own company are using Go Micro or Micro.
    Sign up for StackShare EnterpriseLearn More

    Sign up to get full access to all the companiesMake informed product decisions

    What tools integrate with Go Micro ?
    What tools integrate with Micro?
      No integrations found
      What are some alternatives to Go Micro and Micro?
      Istio
      Istio is an open platform for providing a uniform way to integrate microservices, manage traffic flow across microservices, enforce policies and aggregate telemetry data. Istio's control plane provides an abstraction layer over the underlying cluster management platform, such as Kubernetes, Mesos, etc.
      Zuul
      It is the front door for all requests from devices and websites to the backend of the Netflix streaming application. As an edge service application, It is built to enable dynamic routing, monitoring, resiliency, and security. Routing is an integral part of a microservice architecture.
      Jersey
      It is open source, production quality, framework for developing RESTful Web Services in Java that provides support for JAX-RS APIs and serves as a JAX-RS (JSR 311 & JSR 339) Reference Implementation. It provides it’s own API that extend the JAX-RS toolkit with additional features and utilities to further simplify RESTful service and client development.
      linkerd
      linkerd is an out-of-process network stack for microservices. It functions as a transparent RPC proxy, handling everything needed to make inter-service RPC safe and sane--including load-balancing, service discovery, instrumentation, and routing.
      Azure Service Fabric
      Azure Service Fabric is a distributed systems platform that makes it easy to package, deploy, and manage scalable and reliable microservices. Service Fabric addresses the significant challenges in developing and managing cloud apps.
      See all alternatives