您的位置:首页 > 理论基础 > 计算机网络

正在准备写一个Java实现的HTTP的负载均衡软件

2011-04-15 12:20 429 查看
类似软件Haproxy,官方主页http://haproxy.1wt.eu/

Haproxy非常的优秀,在许多大型网站都有应用。这里不多做介绍。我准备用Java来重写一个Haproxy的初衷是,解决Haproxy不能用在多核模式的一个小小的弊端。其实Haproxy可以使用nbproc指令来启动多个进程进行处理,这样就可以使用多个cpu内核但是这毕竟是多个进程的模式,其中必然有一些进程间通信(IPC)的开销。

我的目的并不是要超越haproxy,我也没有这个野心。我只是想要在haproxy之外,提供另一种可以选择的负载均衡软件。

也许很长时间她都达不到生产系统的要求,但是只要肯坚持,不断修改和提高,我相信最终是可以在生产系统运用的。

Java在引入concurrent之后对于多核编程简单了许多。而且Java的NIO(虽然是epoll,select或者kqueue的一个封装,但是效率也是非常高的)提供了非常强大的非阻塞的服务器开发模式。简单来说我的这个软件就是concurrent和nio的结合的产物。

软件名称暂定为jiliu(激流),只要将“流”当作网络上的数据流,就会明白她的含义。并且她由J开头,也表明了她与Java的渊源。

主要功能

1.负载均衡。支持多种负载均衡算法。参考haproxy中balance配置

2.修改配置不需要重新启动。haproxy现在修改了配置需要重新启动进程才可以应用,我考虑jiliu应该可以在线修改配置。通过HTTP或JMX或者自定义的方式来进行配置,配置完则立刻生效,不需要重启。

3.提供统计报表。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: