A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/gatewayd-io/gatewayd/compare/v0.9.6...v0.9.7 below:

Comparing v0.9.6...v0.9.7 · gatewayd-io/gatewayd · GitHub

### Commit Title: Implement Multi-Proxy and Load Balancer Strategy Support

This commit introduces significant enhancements to the server configuration by supporting multiple proxies and load balancing strategies.

#### Key Changes:

- **API Tests**: Updated to reflect the change from a single `Proxy` to a list of `Proxies`.
- **Initialization and Configuration**: Modified `run.go` to support multiple proxies and load balancer strategies.
- **Configuration Files**: Updated to include fields for multiple proxies and load balancer strategies.
- **Global Configuration Validation**: Enhanced for clients, pools, and proxies.
- **Load Balancer Configuration**: Added a new `loadBalancer` section in `gatewayd.yaml` for rules and strategies.
- **Load Balancing Strategies**: Implemented strategy selection and the Round Robin strategy.
- **Testing**: Added tests for load balancer strategies and updated existing tests.
- **Error Handling**: Introduced a new error type `ErrorCodeLoadBalancerStrategyNotFound`.
- **Proxy Connection Handling**: Improved and added informative comments.

#### Configuration Example:

- **gatewayd.yaml**: Updated to reflect support for multiple proxies and load balancer strategies. Ensure to update your configuration files accordingly.

#### Testing:

- Updated existing tests and added new tests for multi-proxy and load balancing functionality.
- Verified configuration validation for proxies and load balancers.

#### Impact:

- Improved flexibility and scalability of server configuration.
- Enabled robust proxy management and efficient load distribution.

### Additional Changes:

- **Nested Map Structure**: Refactored maps to use nested structures for pools, clients, and proxies.
- **Variable Names**: Refactored for consistency and clarity across multiple files.
- **YAML Tags**: Added to struct fields for `Client`, `Pool`, and `Proxy` types to ensure compatibility with YAML parsers.
- **Configuration Block Names**: Changed from kebab-case to camelCase.
- **Tracing**: Avoided using the request context for tracing in the `GetPools` method.
- **GetServers API**: Enhanced to include load balancer configuration and updated tests.

### Minor Fixes:

- Corrected typos and resolved lint warnings.
- Added comments and fixed formatting issues in configuration files.

### Sign-offs and Co-authors:

- Co-authored-by: Mostafa Moradian <mstfmoradian@gmail.com>
- Signed-off-by: sina <sinadarbouy@gmail.com>

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4