go-doudou
raft
Our great sponsors
go-doudou | raft | |
---|---|---|
19 | 7 | |
1,395 | 7,828 | |
6.2% | 1.3% | |
8.2 | 6.1 | |
6 days ago | 17 days ago | |
Go | Go | |
MIT License | Mozilla Public License 2.0 |
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.
go-doudou
- go-doudou released v2.0.1 version
-
go-doudou released v1.3.2 with officially supporting for grpc
Github repo: https://github.com/unionj-cloud/go-doudou Latest release: v1.3.2
-
go-doudou released v1.1.9 version recently
Update documentation to latest version https://go-doudou.github.io
-
Is sqlx still the top choice for auto mapping database query results to a struct?
If you like sqlx, I recommend you to have a look at go-doudou built-in lightweight orm based on sqlx. It can do struct to table and table to struct migration/sync, generate dao layer code to simplify your single table CRUD operations, and it also can print SQL query with parameters substituded along with opentracing compatible trace ID for locating problems, and it will have more features coming such as cache layer... Here is the repo: https://github.com/unionj-cloud/go-doudou
-
Golang future web frameworks!
I recommend go-doudou for you: https://github.com/unionj-cloud/go-doudou Here is online documentation: https://go-doudou.github.io/
-
Seeking open source projects to contribute
Please take a look at https://github.com/unionj-cloud/go-doudou This is a microservice framework written in Go. I opened it a year ago. It's production ready, but there are a lot of featues not implemented yet. I hope community can help me build it together.
-
Go-doudou released v1.0.3: https://github.com/unionj-cloud/go-doudou/releases/tag/v1.0.3
Go-doudou released v1.0.3: https://github.com/unionj-cloud/go-doudou/releases/tag/v1.0.3 Add full support for Alibaba Nacos configuration management and Ctrip Apollo configuration management Documentation: https://go-doudou.github.io/guide/configuration.html
-
go-doudou released v1.0.0 version
Hi gophers, go-doudou released v1.0.0 version today: https://github.com/unionj-cloud/go-doudou/releases/tag/v1.0.0. And I finished online documentation for go-doudou though there is only English version: https://go-doudou.github.io. I also uploaded a real-world word cloud application to github: https://github.com/unionj-cloud/go-doudou-tutorials/tree/master/wordcloud. You can use this project as scaffold to build your microservices.
-
go-doudou series 01: How to develop a monolithic RESTful service with go-doudou
In this tutorial, I will introduce go-doudou microservice framework to you. Go-doudou has built-in service register, discover and fault tolerance features based on gossip protocol, and it uses gorilla/mux as http router, and uses golang interface as IDL(Interface Definition Language). Go-doudou is an IDL compiler and server/client code generator tool at first, then it becomes a microservice framework. Its RESTful version is stable and production ready, while grpc version is in early development.
- go-doudou released v0.9.6 Fix incorrectly leave
raft
-
Leader election library
Depending on your exact needs, you could try HashiCorp's Raft implementation: https://github.com/hashicorp/raft
-
Implementing a distributed key-value store on top of implementing Raft in Go
I have found the performance tests very tricky to get to pass without having any input from others. The assignment is really very unforgiving, I would wager the test suite is comparable to how commercial Raft implementations are tested (e.g. https://github.com/hashicorp/raft)
- Raft Is So Fetch: The Raft Consensus Algorithm Explained Through Mean Girls
-
Concurrency in Go is hard
While searching on GitHub, I found a pull request in the Raft implementation by Hashicorp (a distributed consensus algorithm), which we can use to demonstrate the following problem. Let’s start by showing the code (at api.go):
-
Looking for a TypeScript Implementation of Raft
Hey,
you could inspire yourself by hashicorps raft implementation written in go and build one for typescript. Code is quite good to read and Go ins't that far away from typescript.
https://github.com/hashicorp/raft
-
rqlite, the light distributed database built with Go and SQLite, v7.2 now with autoclustering via DNS and DNS SRV
Production-grade distributed consensus system.
-
Raft Consensus Protocol
In general Hashicorp's repos are high quality:
https://github.com/hashicorp/raft
Example application: https://github.com/Jille/raft-grpc-example
What are some alternatives?
ringpop-go - Scalable, fault-tolerant application-layer sharding for Go applications
serf - Service orchestration and management tool.
grpc-go - The Go language implementation of gRPC. HTTP/2 based RPC
tendermint - ⟁ Tendermint Core (BFT Consensus) in Go
torrent - Full-featured BitTorrent client package and utilities
gleam - Fast, efficient, and scalable distributed map/reduce system, DAG execution, in memory or on disk, written in pure Go, runs standalone or distributedly.
etcd - Distributed reliable key-value store for the most critical data of a distributed system [Moved to: https://github.com/etcd-io/etcd]
glow - Glow is an easy-to-use distributed computation system written in Go, similar to Hadoop Map Reduce, Spark, Flink, Storm, etc. I am also working on another similar pure Go system, https://github.com/chrislusf/gleam , which is more flexible and more performant.
dragonboat - A feature complete and high performance multi-group Raft library in Go.
flowgraph - Flowgraph package for scalable asynchronous system development
DHT - BitTorrent DHT Protocol && DHT Spider.