dapr VS go-kit

Compare dapr vs go-kit and see what are their differences.

dapr

Dapr is a portable, event-driven, runtime for building distributed applications across cloud and edge. (by dapr)

go-kit

A standard library for microservices. (by go-kit)
Our great sponsors
  • OPS - Build and Run Open Source Unikernels
  • Scout APM - Less time debugging, more time building
  • SonarQube - Static code analysis for 29 languages.
dapr go-kit
34 14
16,614 22,123
6.1% 1.5%
9.8 7.6
5 days ago 6 days ago
Go Go
Apache License 2.0 MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

dapr

Posts with mentions or reviews of dapr. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-01-11.
  • Azure Container Apps - CI/CD deployments (Video Demo)
    3 projects | dev.to | 11 Jan 2022
    Azure Container Apps is a container orchestration platform for deploying modern applications and microservices. With Azure Container Apps you can deploy your containerized apps without the need to take on the overhead of managing the infrastructure of the underlying systems. This service is still in preview, but provides you with the ability to use your preferred language or framework to build microservices with support for Distributed Application Runtime (Dapr). There's also scaling of your containers with Kubernetes Event-Driven Autoscaling (KEDA).
  • What is the new equivalent of microsoft message queue
    1 project | reddit.com/r/csharp | 3 Jan 2022
    If you are looking for a unified way to build this across different clouds, you could look into DAPR https://dapr.io/
  • Is developing microservices in .net is heavily dependent on Azure?
    2 projects | reddit.com/r/csharp | 31 Dec 2021
    Take a look at DAPR if you are looking for a conceptual Queues, Storage, Pub Sub etc without being tied to any particular infrastructure. https://dapr.io/
  • Azure Service Bus
    1 project | reddit.com/r/AZURE | 2 Dec 2021
    This sounds like something you can do with Dapr (https://dapr.io/) It's a microservice architecture that was developed by Microsoft i think and now open-source. It has build in support for communication between services. I don't know your architecture/landscape or the requirements, but maybe this could work for you. If not, yeah queues could work. Setup a listener on startup for the specific queue and you should be good. Keep scaling in mind, I think there was a limit to the number of listeners is possible on a queue (1 per partition or something)
  • FOSS News International #2: November 8-145, 2021
    6 projects | reddit.com/r/fossnews | 15 Nov 2021
    Dapr is a set of APIs that makes it easy for developers to write distributed applications. Dapr runs as a sidecar process next to an application, whether on Kubernetes or any other environment.
  • gRPC Development experience in modern .NET
    7 projects | reddit.com/r/dotnet | 12 Nov 2021
    Think i agree that the tooling is a little behind for .net and gRPC but it isn't bad. Are you also cutting the monolith into smaller pieces you might want to look at https://dapr.io/
  • Next.js 12
    27 projects | news.ycombinator.com | 26 Oct 2021
    I guess https://dapr.io/ could also be considered a contender in that space, though the developer experience is not as polished as next.js (yet?).
  • Show HN: Scaffoldly – Serverless APIs on AWS, in Minutes
    1 project | news.ycombinator.com | 21 Oct 2021
    Very cool project. It reminds me a bit of https://dapr.io (even though they're obviously quite different).

    One tiny note on the docs - I found it surprisingly hard to find the github repo for the project listed in the docs. I was expecting to find a GitHub link under contributing but only saw a slack channel. I eventually spotted a link in the Roadmap section.

  • Do you guys use frameworks with Go for backend development?
    7 projects | reddit.com/r/golang | 8 Oct 2021
    https://dapr.io/ might be a fit sometimes
  • From Monolith to Microservices and Beyond
    5 projects | dev.to | 5 Oct 2021
    Projects like Dapr aim to be the Holy Grail for application development. Their goal is to help developers build resilient services that run in the cloud. By codifying best practices for building microservices into independent and agnostic building blocks that can be used only if necessary, they allow services to be built using any language or framework and run anywhere.

go-kit

Posts with mentions or reviews of go-kit. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-12-14.
  • Boilerplate for experienced devs
    11 projects | reddit.com/r/golang | 14 Dec 2021
    If you're dealing with microservices then you can also look at https://gokit.io/
  • Fun with generics: REST HTTP handler proof-of-concept
    3 projects | reddit.com/r/golang | 15 Nov 2021
    This comes dangerously close to functional services as popularized by Twitter et al and encapsulated in the well known Finagle library. I don’t know but I strongly suspect /u/peterbourgon was heavily influenced by this while developing the notion of Endpoints in his reasonably well known go-kit library, although it’s significantly less general due mostly to limitations in Go’s type system.
  • Is there any course for leaning MicroService with Golang? Thanks.
    1 project | reddit.com/r/golang | 7 Nov 2021
    I think go-kit would be a good starting point.
  • Protocols and Composition in Python
    3 projects | dev.to | 4 Nov 2021
    I first learned of this pattern in Go's go-kit where I've seen it called "service middlewares". The Design Patterns book describes something similar as the "decorator" pattern - not to be confused with Python decorators, which have the unfortunate property of melding themselves with what they decorate, which limits their practical usefulness, at least as far as reducing coupling is concerned.
  • Do you guys use frameworks with Go for backend development?
    7 projects | reddit.com/r/golang | 8 Oct 2021
    Go kit is a good backend development toolkit ... but not a framework.
  • Peter Bourgon: I have been permanently banned from all Golang community spaces
    1 project | news.ycombinator.com | 16 Sep 2021
    I recognize him for his efforts to bring Go to the enterprise world with https://gokit.io/ and public speaking, rooting for Go, when Go was not as prominent as it is today.

    I don’t know the reasons why he got banned, but it is irritating.

  • Scala or Go: Who Wore It Better?
    7 projects | dev.to | 6 Sep 2021
    After Go took off at Google and was released to the public, it got really popular as the language of concurrency, which helped in turn to make it the language of DevOps--particularly in concert with Kubernetes, which also emerged from Google. Go has expanded into other domains as well with the CMS Hugo and the microservices framework Go kit.
  • Should I learn Golang or use Ansible to delveop the operators?
    8 projects | reddit.com/r/kubernetes | 19 Aug 2021
    What's great is there are really great patterns to follow out there on github (both code patterns https://github.com/tmrts/go-patterns and examples https://github.com/avelino/awesome-go https://github.com/go-kit/kit and for the app itself, https://github.com/golang-standards/project-layout )... and for me a really naggy mentor who insists everything be "idiomatic go"
  • Questions on linters
    3 projects | reddit.com/r/golang | 29 Jun 2021
    For more background and discussion, including several demonstrations of error handling decorators, please see Go kit issue #164, Explain why Logger.Log returns error.
  • Show HN: We wrote a book about building business applications in Go
    7 projects | news.ycombinator.com | 13 May 2021
    Thanks for mentioning this experience -- I was really excited about Go early on but went with other languages after a while so didn't make any huge projects with it (and definitely not at a large employer/go shop).

    Did you have to do a lot of stuff that is DDD-related? Like building out abstractions for adapters and connection points, or did you use libraries that did that part for you mostly? I know of some stuff out there like go kit[0] which is quite pragmatic and does some of the 80% use-cases (serialization, transports, etc) DDD stuff for you.

    I think for the most part it's rare to actually need to write a lot of your own DDD pieces for CRUD-y apps, and the parts where the complexity would be worth it are often already done for you by the libraries/frameworks used.

    [0]: https://gokit.io/

What are some alternatives?

When comparing dapr and go-kit you can also consider the following projects:

Gin - Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance -- up to 40 times faster. If you need smashing performance, get yourself some Gin.

Echo - High performance, minimalist Go web framework

goa - Design-based APIs and microservices in Go

GoSwagger - Swagger 2.0 implementation for go

tye - Tye is a tool that makes developing, testing, and deploying microservices and distributed applications easier. Project Tye includes a local orchestrator to make developing microservices easier and the ability to deploy microservices to Kubernetes with minimal configuration.

chi - lightweight, idiomatic and composable router for building Go HTTP services

Iris - The fastest HTTP/2 Go Web Framework. AWS Lambda, gRPC, MVC, Unique Router, Websockets, Sessions, Test suite, Dependency Injection and more. A true successor of expressjs and laravel | 谢谢 https://github.com/kataras/iris/issues/1329 |

Beego - beego is an open-source, high-performance web framework for the Go programming language.

Nomad - Nomad is an easy-to-use, flexible, and performant workload orchestrator that can deploy a mix of microservice, batch, containerized, and non-containerized applications. Nomad is easy to operate and scale and has native Consul and Vault integrations.

Gizmo - A Microservice Toolkit from The New York Times

Fiber - ⚡️ Express inspired web framework written in Go

kratos - A modular-designed and easy-to-use microservices framework in Go.