https://github.com/vedadiyan/goal
Goal is a collections of helpers to speed up microservice development
https://github.com/vedadiyan/goal
Last synced: 3 months ago
JSON representation
Goal is a collections of helpers to speed up microservice development
- Host: GitHub
- URL: https://github.com/vedadiyan/goal
- Owner: Vedadiyan
- Created: 2023-01-05T05:27:09.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-07-08T04:30:30.000Z (11 months ago)
- Last Synced: 2025-01-14T21:09:18.690Z (5 months ago)
- Language: Go
- Size: 8.62 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# GOAL
Goal is a collections of helpers to speed up microservice development## Motivation
I wrote this library to organize basic functions that I need for writing microservices in a single place. Goal is accordingly a common library that includes the following features.- It has an easy to use ETCD client that allows for
- Automatic configuration reading
- Bootstrapping configurations
- It provides NATS codecs for
- Protobuf
- Protobuf + ZSTD
- It provides an in-memory cache which has a built-in TTL
- It provides high performance collections
- Queue
- Stack
- It provides a high performance DI container that support the following life-cycles
- Singleton
- Transient
- Scoped
- It provides a wrapper around the original http client in Go that
- Ensures connection reuse
- Simplifies all http operations in a single function
- It provides an advanced logger that
- Sends measurements to InfluxDB
- Has failover features
- Records performance benchmarks at runtime without any performance penalty
- It provides a Protobuf util that
- Marshals Protobuf to Map
- Unmarshals Map to Protobuf## Development
I am still developing this library. All features are well-tested separately. I am currently working on moving the test files to the same repository.