gsloc

command module
v0.35.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 19, 2024 License: Apache-2.0 Imports: 4 Imported by: 0

README

⚠️WIP⚠️

GSLoC

GSLoC is a open source Global Server Load Balancing (GSLB) solution.

It implements GSLB solution using consul.

Server answer to DNS Request with A, AAAA and ANY type. It implements multiple algorithms to choose the best answer:

  • Round Robin
  • Weighted Round Robin (Ratio)
  • Topology (GeoIP with maxmind)
  • DNS style (Random)

GSLoC handle dns request and managing consul services (and store its data on kv store from consul).

Consul is used for failover, healthcheck adn gossip protocol between consul servers.

Other GSLoC repositories

  • gsloc: GSLoC server implementation.
  • gsloc-cli: GSLoC cli for interacting with server.
  • gsloc-api: Api definition in protobuf and grpc with code generation tools and architectural docs and doc api.
  • gsloc-go-sdk: Go sdk for gsloc api used in gsloc implementation.

Pre-Commit Tool

We use the pre-commit tool to automatically enforce coding standards and run various checks on code changes. To get started, follow these steps:

  1. Install pre-commit globally on your local machine. You can do this by running the following command in your terminal (prefer using pip3):
pip install pre-commit
  1. After installing pre-commit, navigate to the root directory of the project and run the following command to install the pre-commit hooks:
pre-commit install
  1. Now, every time you make a commit, pre-commit will automatically run the configured checks on your changes and prevent the commit if any issues are found.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL