NexusForce 1.0.0
A rigorously engineered full-stack C++ backend library.
载入中...
搜索中...
未找到
neforce::http::load_balancer类 参考

HTTP负载均衡管理器 更多...

#include <load_balancer.hpp>

Public 成员函数

void set_max_failures (size_t max)
 设置容忍的最大连续失败次数
void set_health_check_interval (milliseconds ms)
 设置健康检查间隔
void set_health_check_timeout (milliseconds ms)
 设置健康检查超时
lb_backendselect_backend ()
 选择后端节点
void mark_failure (lb_backend *backend)
 标记后端请求失败
void run_health_checks ()
 运行健康检查(将所有标记为不健康但已恢复的节点恢复)
vector< stringbackend_hosts () const
 获取后端主机列表快照
size_t healthy_count () const
 获取健康节点数

静态 Public 成员函数

static void release_backend (lb_backend *backend)
 释放后端节点(请求完成)

详细描述

HTTP负载均衡管理器

管理多个后端节点,按策略分发请求。 支持主动健康检查和故障转移。

使用示例:

load_balancer lb;
lb.add_backend({"web1", ports(8080)});
lb.add_backend({"web2", ports(8080)});
auto* backend = lb.select_backend();
if (backend) {
// 转发请求到 backend
lb.release_backend(backend); // 请求完成后调用
}
static void release_backend(lb_backend *backend)
释放后端节点(请求完成)
lb_backend * select_backend()
选择后端节点
网络端口封装类

在文件 load_balancer.hpp78 行定义.

成员函数说明

◆ release_backend()

void neforce::http::load_balancer::release_backend ( lb_backend * backend)
static

释放后端节点(请求完成)

参数
backendselect_backend返回的节点指针

◆ select_backend()

lb_backend * neforce::http::load_balancer::select_backend ( )

选择后端节点

返回
选中的后端,无可选用节点返回nullptr

该类的文档由以下文件生成: