|6 months ago
|1 day ago
|Apache License 2.0
|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.
Transitioning from more traditional OOP like C# to Go, what are the biggest coding style differences.
2 projects | /r/golang | 16 Nov 2023
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
4 projects | dev.to | 18 Oct 2023
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
17 projects | dev.to | 21 Sep 2023
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?
6 projects | dev.to | 13 Sep 2023
APISIX uses etcd to store and synchronize configurations.
Apache APISIX without etcd
3 projects | dev.to | 27 Jul 2023
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.
Evaluating Apache APISIX vs. Spring Cloud Gateway
3 projects | dev.to | 22 Jun 2023
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
5 projects | news.ycombinator.com | 25 May 2023
2 projects | news.ycombinator.com | 6 May 2023
I am not sure neither. But this might overcome the etcd's soft storage limit of 8GB? 
5 projects | dev.to | 23 Mar 2023
Apache APISIX is an API Gateway. By default, it stores its configuration in etcd, a distributed key-value store - the same one used by Kubernetes. Note that in real-world scenarios, we should set up etcd clustering to improve the resiliency of the solution. For this post, we will limit ourselves to a single etcd instance. Apache APISIX offers an admin API via HTTP endpoints. Finally, the gateway forwards calls from the client to an upstream. Here's an overview of the architecture and the required certificates:
Why is the principle stating that "interfaces should belong to the package that uses values of the interface type, not the package that implements those values" sometimes violated?
2 projects | /r/golang | 19 Feb 2023
While exploring popular projects such as etcd and especially traefik, I noticed a violation of the principle that states "interfaces should belong to the package that uses values of the interface type, not the package that implements those values." For example, Here we can see that ManagerFactory import Registry interface that placed here and implementations of this interface in the same package, which violates the aforementioned principle. Even if the interface is simply a specification, it should still be defined on the consumer side. Is it considered bad practice to follow what traefik does in this case or I doesn't understand somthing? P.S. I'm newcomer, so sorry if it's silly question.
What are some alternatives?
consul - Consul is a distributed, highly available, and data center aware solution to connect and configure applications across dynamic, distributed infrastructure.
minio - The Object Store for AI Data Infrastructure
Vault - A tool for secrets management, encryption as a service, and privileged access management
Apache ZooKeeper - Apache ZooKeeper
nsq - A realtime distributed messaging platform
traefik - The Cloud Native Application Proxy
CoreDNS - CoreDNS is a DNS server that chains plugins
Caddy - Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS
ingress-nginx - Ingress-NGINX Controller for Kubernetes
kubernetes - Production-Grade Container Scheduling and Management
tidb - TiDB is an open-source, cloud-native, distributed, MySQL-Compatible database for elastic scale and real-time analytics. Try AI-powered Chat2Query free at : https://tidbcloud.com/free-trial
devd - A local webserver for developers