infra

所属分类:微服务
开发工具:GO
文件大小:0KB
下载次数:0
上传日期:2024-03-05 10:32:35
上 传 者sh-1993
说明:  服务的go基础架构库:数据库容器、http服务器、grpc服务器等
(go infrastructure libraries for services: database containers, http server, grpc server, etc)

文件列表:
clickhouse/
grpc/
http/
infoserver/
kafka/
log/
mattermost/
mongo/
nats/
netretry/
operator/
postgres/
prompushgw/
rabbit/
redis/
system/
.golangci.yml
LICENSE
go.mod
go.sum

# Infra Infra is a set of go libraries to unify the way we write grpc servers, access various databases, etc. # Installation ```bash go get github.com/pushwoosh/infra ``` # Libraries All databases and brokers libraries have similar design: each library has `NewContainer` function that creates a container that holds named connections to the database. To create a new connection, call `Connect` method. To fetch a connection, call `Get` method. ## Databases - [Postgres](https://github.com/Pushwoosh/infra/blob/master/postgres) - based on jackc/pgx - [Clickhouse](https://github.com/Pushwoosh/infra/blob/master/clickhouse) - [MongoDB](https://github.com/Pushwoosh/infra/blob/master/mongodb) - [Redis](https://github.com/Pushwoosh/infra/blob/master/redis) - based on go-redis v9 driver ## Message Brokers - [RabbitMQ](https://github.com/Pushwoosh/infra/blob/master/rabbitmq) - [Apache Kafka](https://github.com/Pushwoosh/infra/blob/master/kafka) - based on segmentio/kafka-go - [NATS](https://github.com/Pushwoosh/infra/blob/master/nats) ## Servers - [HTTP](https://github.com/Pushwoosh/infra/blob/master/http) - http server helpers - [gRPC](https://github.com/Pushwoosh/infra/blob/master/grpc/grpcserver) - gRPC server utilities for creating gRPC servers and gRPC gateways - [gRPC middlewares](https://github.com/Pushwoosh/infra/blob/master/grpc/grpcserver/middleware) - set of standard middlewares - [Info](https://github.com/Pushwoosh/infra/blob/master/infoserver) - server info endpoint. provides endpoints for k8s liveness and readiness probes, pprof, build info ## Other - [GRPC Client](https://github.com/Pushwoosh/infra/blob/master/grpc/grpcclient) - has same interface as database and broker libraries - [Log](https://github.com/Pushwoosh/infra/blob/master/log) - zap logger wrapper - [Netretry](https://github.com/Pushwoosh/infra/blob/master/netretry) - retry lib for temporary network errors - [Prometheus pushgateway client](https://github.com/Pushwoosh/infra/blob/master/prompushgw) - client for pushgateway, mostly used in cronjobs - [Operator](https://github.com/Pushwoosh/infra/blob/master/operator) - [System](https://github.com/Pushwoosh/infra/blob/master/system) - OS signal handler

近期下载者

相关文件


收藏者