pkgsite
etcd
Our great sponsors
pkgsite | etcd | |
---|---|---|
13 | 61 | |
1,128 | 46,345 | |
2.2% | 1.1% | |
9.1 | 9.9 | |
3 days ago | 4 days ago | |
Go | Go | |
BSD 3-clause "New" or "Revised" License | Apache 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.
pkgsite
-
Transitioning from more traditional OOP like C# to Go, what are the biggest coding style differences.
Reading the standard library will give you ideas/insight about various Go idiomatic patterns/approaches, and you can see a full website/API implementation in the pkg.go.dev repository (https://github.com/golang/pkgsite). Projects like https://github.com/etcd-io/etcd may be interesting too.
- What are well-developed web applications in Golang?
- Question about storing everything in an application struct in a web app
-
Mocking database queries - ask for opinion
Let's look at some real codebase for an example on how to write database tests without mocking. The source code for the Go package discovery site(https://pkg.go.dev/) is available at[1] That site uses postgres as its primary database[2]. The database package has a method called GetLatestInfo[3] that fetches the latest versions of a module. That method is called from the frontend http handlers[4] via an interface[5] When it comes to testing that frontend handler, you would expect the tests to use a mock implementation of that interface method. But that's not what they do, instead they use a real postgres database in the test[6].
-
Is there any conventionally accepted repo that is representative of well designed go code ?
The code behind pkg.go.dev is also open-source and might be an interesting read.
-
Generate godoc for pkg with generics
BTW, the number of dependencies of pkgsite surprises me: https://github.com/golang/pkgsite/blob/master/go.mod
-
Good example projects to look through? + a good number of other questions - sorry
The source for Go's pkg site has been helpful to me https://github.com/golang/pkgsite
- Looking for production-grade web app examples
-
Best courses to learn Go for backend?
In my unpopular opinion, the go net/http is good enough to develop the web http application. The standard API is clean and well-documented. One of example is the pkgsite (https://github.com/golang/pkgsite).
-
Golang.org Is Gone
It's also available as a mirror at https://github.com/golang/pkgsite. All the golang.org/x/* packages are thankfully available there, making them pretty easy to find.
etcd
-
Oracle Linux 8.8'de PostgreSQL 13 Yedekli Yapı Nasıl Kurulur? - Patroni, ETCD, HAProxy
sudo dnf -y install curl wget vim ETCD_RELEASE=$(curl -s https://api.github.com/repos/etcd-io/etcd/releases/latest|grep tag_name | cut -d '"' -f 4) echo $ETCD_RELEASE wget https://github.com/etcd-io/etcd/releases/download/${ETCD_RELEASE}/etcd-${ETCD_RELEASE}-linux-amd64.tar.gz tar xvf etcd-${ETCD_RELEASE}-linux-amd64.tar.gz cd etcd-${ETCD_RELEASE}-linux-amd64 sudo mv etcd* /usr/local/bin ls /usr/local/bin /usr/local/bin/etcd --version
-
Transitioning from more traditional OOP like C# to Go, what are the biggest coding style differences.
Reading the standard library will give you ideas/insight about various Go idiomatic patterns/approaches, and you can see a full website/API implementation in the pkg.go.dev repository (https://github.com/golang/pkgsite). Projects like https://github.com/etcd-io/etcd may be interesting too.
-
Fault Tolerance in Distributed Systems: Strategies and Case Studies
Failure Detection and Recovery It’s not enough to have backup systems. It’s also crucial to detect failures quickly. Modern systems employ monitoring tools and rely on distributed coordination systems such as Zookeeper or etcd to identify faults in real-time: once detected, recovery mechanisms are triggered to restore the service.
-
The Complete Microservices Guide
Service Discovery: Microservices need to discover and communicate with each other dynamically. Service discovery tools like etcd, Consul, or Kubernetes built-in service discovery mechanisms help locate and connect to microservices running on different nodes within the infrastructure.
-
How is Apache APISIX Fast?
APISIX uses etcd to store and synchronize configurations.
-
Apache APISIX without etcd
etcd is an excellent key-value distributed database used internally by Kubernetes and managed by the CNCF. It's a great option, and that's the reason why Apache APISIX uses it too. Yet, it's not devoid of issues.
-
From /etc to database
Someone on HN (https://news.ycombinator.com/item?id=36682595) suggested etcd (https://etcd.io)
-
Evaluating Apache APISIX vs. Spring Cloud Gateway
In traditional mode, APISIX stores its configuration in etcd. APISIX offers a rich API to access and update the configuration, the Admin API. In standalone mode, the configuration is just plain YAML. It's the approach for GitOps practitioners: you'd store your configuration in a Git repo, watch it via your favorite tool (e.g., Argo CD or Tekton), and the latter would propagate the changes to APISIX nodes upon changes. APISIX reloads its configuration every second or so.
- Implementing a distributed key-value store on top of implementing Raft in Go
-
RedisRaft
I am not sure neither. But this might overcome the etcd's soft storage limit of 8GB? [1]
[1] https://github.com/etcd-io/etcd/issues/9771
What are some alternatives?
solkit - A solitaire collection and solitaire construction kit for terminal
consul - Consul is a distributed, highly available, and data center aware solution to connect and configure applications across dynamic, distributed infrastructure.
golds - An experimental Go local docs server/generator and code reader implemented with some fresh ideas.
minio - The Object Store for AI Data Infrastructure
wtf - WTF Dial is an example web application written in Go.
Vault - A tool for secrets management, encryption as a service, and privileged access management
go-rabbitmq - A wrapper of streadway/amqp that provides reconnection logic and sane defaults
Apache ZooKeeper - Apache ZooKeeper
keploy - Test generation for Developers. Generate tests and stubs for your application that actually work!
nsq - A realtime distributed messaging platform
website - [mirror] Home of the go.dev and golang.org websites
traefik - The Cloud Native Application Proxy