[开源软件]负载均衡通讯分发器(LB dispatch)
负载均衡通讯分发器(LB dispatch) - G5 1.开发背景 今天和系统运维的老大聊天,谈到一直在用的F5,行里对其评价为价格过高、功能复杂难懂,反正印象不是很好,使用前景不明。因为以前我曾经给行里开发过一个通讯中间件,附带软实现了负载均衡,几年使用下来一直效果不错,突然想自己再软实现一个纯负载均衡通讯分发器,并开源分享给大家。 说干就干,回到家,搜了一下网上同类软件,整理技术需求 软件定义如下:基于规则的通讯分发器,匹配来源网络地址,从哪个端口进入,参照负载均衡算法转发到目标网络地址集合中的其中一个。 实现目标如下: * 支持长/短TCP,后续还会支持UDP * 与应用层协议无关,即支持HTTP,FTP,TELNET,SSH等等所有应用层协议 * 稳定高效,Linux下首选epoll(ET模式),全异步设计,也决定了目前仅支持Linux * 分发规则配置文件;也支持远程在线管理规则,以及查询状态 * 支持多种主流负载均衡算法 * 源码和可执行程序体型轻巧,概念简单,使用快捷 使用场景如下: * 通讯转发、分发 * 与无负载均衡功能的通讯软件配合实现本地连接对端的负载均衡分发,避免改造通讯软件带来的工作量和风险 * 低成本的网站前端负载均衡通讯网关 研发之前,取个好听的名字,相对于硬实现F5,就取名为软实现G5吧 ^_^ 经过5个晚上的奋笔疾书,捣鼓出v1.0.0