一、负载均衡介绍
1、什么是负载均衡
百度百科介绍:http://baike.baidu.com/view/51184.htm?fr=aladdin
负载均衡 (Load Balancing) 负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。
2、业界有哪些负载均衡(开源)
2.1、lvs
百度百科介绍:http://baike.baidu.com/subview/645050/6406092.htm?fr=aladdin
LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。
2.2、haproxy
百度百科介绍:http://baike.baidu.com/view/2480120.htm
HAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代 理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上。
HAProxy实现了一种事件驱动, 单一进程模型,此模型支持非常大的并发连接数。多进程或多线程模型受内存限制 、系统调度器限制以及无处不在的锁限制,很少能处理数千并发连接。事件驱动模型因为在有更好的资源和时间管理的用户端(User-Space) 实现所有这些任务,所以没有这些问题。此模型的弊端是,在多核系统上,这些程序通常扩展性较差。这就是为什么他们必须进行优化以 使每个CPU时间片(Cycle)做更多的工作。[1
2.3、Nginx
百度百科介绍:http://baike.baidu.com/view/926025.htm
Nginx(发音同 engine x)是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:新浪、网易、 腾讯等。
3、优点和缺点
3.1、四层网络层架构
网络层,很明显效率会比应用层快
3.2、七层应用层架构
应用层则比网络层更多的限制,比如urlrewrite 等等
3.3、性能和功能
性能依次:haproxy、lvs、nginx
功能依次:nginx、haproxy、lvs
4、我选择的
4.1、为什么用Nginx
其实我会比较喜欢Nginx,因为更多的对URL操作,主机头操作等
4.2、我会如何选
刚进运维时我可能会想如何如何高可用,高性能、高扩展,到现在会根据业务来定,有的业务就是可用就行,因为价值权衡在里面,没有必要高可用。而我喜欢nginx的原因就是它可以对后端进行绝对的控制。