一个简单、快速、纯Python负载均衡器
项目描述
PumpkinLB是一个快速的多进程TCP负载均衡器/端口转发器,兼容Linux、Cygwin和Windows环境。
处理
PumpkinLB监听运行其上的机器上的本地端口请求,并将它们分配给任意数量的工作者。
您可以使用它快速设置负载均衡器,例如从1个入口点到5个不同的Apache工作者,分布在各种服务器上。
每个传入端口由一个独立的过程等待,每个连接又是另一个过程,因此在高负载下表现良好。
请求通常在各个工作者之间轮询处理。如果后端工作者上的请求失败,它将在另一个随机工作者上重试,直到成功,并记录一条消息。
用法
通过运行PumpkinLB.py [cfgFile] 来执行
其中[cfgFile]是您的配置文件路径。包含一个示例“example.cfg”。
配置部分
配置文件被分割成多个部分,每个部分由[$SectionName]定义,后跟键值对格式的变量。
[options]
pre_resolve_workers=0/1 - 默认 1
使用主机名定义的任何工作进程将在读取配置时进行评估。
这更有利于节省每个请求的DNS查询,应启用
除非您的DNS可能更改,并且您希望工作进程匹配更改。
buffer_size=N - 默认 4096
默认的读写缓冲区大小(以字节为单位),用于套接字操作。4096是大多数情况下的良好默认值,但您可能能够根据您的应用程序进行调整。
[mappings]
localaddr:inport=worker1:port,worker2:port…
监听由“localaddr”定义的接口上的“inport”端口。将任务分配给工作地址和端口。
例如:192.168.1.100:80=10.10.0.1:5900,10.10.0.2:5900
inport=worker1:port,worker2:port…
监听所有接口上的“inport”端口,并将任务分配给给定端口的指定工作地址。
例如:80=10.10.0.1:5900,10.10.0.2:5900
以下是一个示例,监听本地子网上的80端口,并将任务分配给3个Apache服务器
80=192.168.1.100:80,192.168.1.101:80,192.168.1.102:80
优雅关闭
发送SIGTERM、SIGINT或按Ctrl+C将执行优雅关闭(它将等待最多6秒钟以完成任何活动请求,然后终止)。
项目详情
PumpkinLB-2.0.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 32e84297ac455d2cb00c4c2991c981b7a06b205f9966524a078fc24861e75d26 |
|
MD5 | 649873b77abcfffad9f48541ae277c6e |
|
BLAKE2b-256 | cc88b4df1a3416ea09dd17bea4214d802d87f83afeafe9646ef42712c8e652f6 |