Our great sponsors
-
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.
Web framework gin
-
RPC framework grpc
-
SonarLint
Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.
-
Configuration file parsing viper
-
Nacos
an easy-to-use dynamic service discovery, configuration and service management platform for building cloud native applications.
Configuration Center nacos
-
Caching component go-redis ristretto
-
Documentation swagger
-
Authorization jwt
-
InfluxDB
Access the most powerful time series database as a service. Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression.
-
validator
:100:Go Struct and Field validation, including Cross Field, Cross Struct, Map, Slice and Array diving
Validator validator
-
Monitoring prometheus, grafana
-
Grafana
The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.
Monitoring prometheus, grafana
-
Service registry and discovery etcd, consul, nacos
-
consul
Consul is a distributed, highly available, and data center aware solution to connect and configure applications across dynamic, distributed infrastructure.
Service registry and discovery etcd, consul, nacos
-
Code inspection golangci-lint
-
Continuous Integration CI jenkins
-
Continuous Deployment CD docker, kubernetes
-
The code directory structure follows project-layout, and the code directory structure is shown below.
-
-
Download it from https://github.com/protocolbuffers/protobuf/releases/tag/v3.20.3 and add the directory where the protoc file is located under systempath.
-
protoc-gen-validate
protoc plugin to generate polyglot message validators [Moved to: https://github.com/bufbuild/protoc-gen-validate] (by envoyproxy)
Dependency plugins and tools are automatically installed after executing the command: protoc-gen-go, protoc-gen-go-grpc, protoc-gen-validate, protoc-gen-gotag, protoc-gen-go-gin, protoc-gen-go-rpc-tmpl, protoc-gen-openapiv2, protoc-gen-doc, golangci-lint, swag, go-callvis.
-
Check the parameter description command sponge web http -h, note that the parameter repo-addr is the image repository address, if you use the official docker image repository, you only need to fill in the username of the registered docker repository, if you use the private repository address, you need to fill in the full repository address.
-
Dependency plugins and tools are automatically installed after executing the command: protoc-gen-go, protoc-gen-go-grpc, protoc-gen-validate, protoc-gen-gotag, protoc-gen-go-gin, protoc-gen-go-rpc-tmpl, protoc-gen-openapiv2, protoc-gen-doc, golangci-lint, swag, go-callvis.
-
sponge
sponge is a microservice framework, a tool for quickly generate web and microservice code. (by zhufuyi)
Dependency plugins and tools are automatically installed after executing the command: protoc-gen-go, protoc-gen-go-grpc, protoc-gen-validate, protoc-gen-gotag, protoc-gen-go-gin, protoc-gen-go-rpc-tmpl, protoc-gen-openapiv2, protoc-gen-doc, golangci-lint, swag, go-callvis.
-
Dependency plugins and tools are automatically installed after executing the command: protoc-gen-go, protoc-gen-go-grpc, protoc-gen-validate, protoc-gen-gotag, protoc-gen-go-gin, protoc-gen-go-rpc-tmpl, protoc-gen-openapiv2, protoc-gen-doc, golangci-lint, swag, go-callvis.
-
Dependency plugins and tools are automatically installed after executing the command: protoc-gen-go, protoc-gen-go-grpc, protoc-gen-validate, protoc-gen-gotag, protoc-gen-go-gin, protoc-gen-go-rpc-tmpl, protoc-gen-openapiv2, protoc-gen-doc, golangci-lint, swag, go-callvis.
-
Dependency plugins and tools are automatically installed after executing the command: protoc-gen-go, protoc-gen-go-grpc, protoc-gen-validate, protoc-gen-gotag, protoc-gen-go-gin, protoc-gen-go-rpc-tmpl, protoc-gen-openapiv2, protoc-gen-doc, golangci-lint, swag, go-callvis.
-
Use jaeger for tracing and elasticsearch for storage, and start both services locally using docker-compose.
-
Using the wrk tool to pressure test the api
-
Rate limiter and circuit breaker use a third-party library aegis, which adapts according to system resources and error rates. Since different servers have different processing capabilities and parameters are not well set, using adaptive parameters avoids the trouble of manually setting parameters for each service.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives