看了好多关于Nginx,LVS等的文章,跟很多朋友讨论,自己的项目组也实现了一个demo,今天终于搞清了关系。
LVS是一个四层负载均衡,四层就是OSI模型的第四层,TCP/IP层,它是根据cip,cport,sip,sport等做负载均衡,并不理解HTTP等请求内容(因为那是第七层应用层管的事),所以对于海量请求,最前面比较适合搞个LVS做负载,分发请求
Nginx是一个有很多功能的Server,它首先是一个反向代理Web服务器,然后可以做七层负载均衡器,还有重写URL,静态缓存等功能。由于其工作在应用层,因此能够理解HTTP协议,因此可以通过URL做分发,可以实现动静分离,比如把动态请求转给tomcat,相当于apache服务器的mod_jk。其可以自己处理静态内容。当然这都是因为其可以通过指定location参数配置的,你想实现怎么样的分发都可以。其还有内置模块基于ip分发。其还支持健康检查,有机器挂了就自动不再发到那台机器了。
KeepAlived是用来心跳负载均衡器的,这只有当负载均衡器是集群时才用到的,当一个负载均衡器挂了,可以无缝切换到其他负载均衡器上。
Session保持依靠两个机制,一个是session sticky,基于nginx使用它的一个插件jvm_route,LVS的看来应该是采用source hash这种策略。另外就是当后面的应用服务器挂了,session怎么办,一种方案是session复制,tomcat自己的方式;一种方案是共享存储session,可以是memcache等,我们选用了Terracotta,优点是对代码没有侵入性,不需要实现序列化接口,堆级复制,对变化同步,跟memcache比性能会差些,差多少没测过。
Squid静态缓存服务器,现在Nginx基本可以搞定这个事情了,效率甚至更高。
所以大网站的策略是 LVS+Squid+Nginx+Memcache+Tomcat+Terracotta
Memcache或是Redis这种东东来替代数据库加速数据访问。
LVS高效的负载均衡到各个Nginx上,Ngtinx再分发,做动静分离。
对于大量读的网站,大多数请求估计到不了Tomcat,都被Nginx转到静态页面缓存的服务器上去了。
CDN技术可以帮助网站路由到离用户最近的CDN节点,读取上面的内容。
这些都是针对大量读的网站,读写分离,对并发事务的锁要求非常低,并发事务并不可怕,可怕的是锁。
下面是一个大牛的blog,讲了好多经验,人家都是处理数十亿pv的
http://blog.sina.com.cn/s/blog_466c66400100hw0i.html
下面是将Redis的
http://timyang.net/data/redis-misunderstanding/
分享到:
相关推荐
通过对源代码的阅读和理解,你可以了解到如何在C#中实现Socket通信和负载均衡的具体细节,以及如何设计和优化这类系统。 总的来说,C#源码Socket负载均衡实例是一个有价值的教育资源,可以帮助开发者掌握网络编程和...
为了帮助网络规划人员、现场技术支持与维护人员、网络管理员等更好地理解和应用H3C负载均衡产品,H3C公司编写了《H3C 负载均衡设备典型配置案例集手册》。该手册不仅提供了丰富的配置案例,还详细说明了配置思路和...
在IT领域,尤其是在云服务和网络架构中,负载均衡器是一个关键组件,它负责分散流入的网络流量到多个后端服务器,以确保高可用性和性能。然而,有时可能会遇到内部负载均衡器出现间歇性丢包或负载不均衡的问题。以下...
本技术文档集合涵盖了多个负载均衡的方面,旨在帮助学习者深入理解其原理、实现方式以及应用实践。 一、负载均衡的概念 负载均衡是一种策略,用于将工作负载分布到多个计算资源,如服务器、网络设备或存储设备,以...
总之,Windows 7双网络负载均衡是一项能显著提升网络性能的技术,但需要深入理解网络原理和RRAS服务的配置。通过以上步骤,你可以有效地在Windows 7系统上实现多网络接口的负载均衡,从而提高系统的网络稳定性和可靠...
在构建大型VoIP系统时,负载均衡是至关重要的,它能确保服务的高可用性和可扩展性。"opensips与两台freeswitch负载均衡"的主题聚焦于如何使用OpenSIPS作为负载均衡器来管理两台Freeswitch服务器,以实现Freeswitch的...
首先,我们要理解负载均衡的基本原理。负载均衡通过分配网络流量到多个服务器,避免单个服务器过载,确保服务的连续性和高效性。在Camstar系统中,这一过程可能涉及到工作负载的分配、故障转移以及性能监控。 配置...
3. **教学与实验**:对于学习者,SoftAX提供了一个安全的环境来练习配置和管理负载均衡策略,理解如何应对各种网络流量场景,以及如何优化系统性能。 4. **运维模拟**:对于运维人员,SoftAX可以帮助他们在实际环境...
Nginx 负载均衡入门 Nginx 是一款高性能的 HTTP 和反向代理服务器,由俄罗斯人 Igor Sysoev 编写。Nginx 已经在俄罗斯最大的门户网站 Rambler Media 上运行了 3 年时间,同时俄罗斯超过 20% 的虚拟主机平台采用 ...
3. **配置虚拟服务(类似F5 poolmembers)**:虚拟服务是负载均衡器对外提供的“服务”,可以理解为一个IP地址和端口的组合,它可以映射到一个或多个pool members,支持L4(四层,基于TCP/UDP)和L7(七层,基于应用...
理解这个协议对于正确地实现负载均衡器至关重要。 `src`目录包含源代码,是整个项目的核心部分。我们可以期待找到一个或多个类,它们实现了负载均衡逻辑,可能包括以下组件: 1. `ServerSelector`:使用Java的...
本文将深入剖析负载均衡策略,解读其核心算法和网络状态监测的重要性,以期帮助读者更好地理解这一技术,并在实际应用中做出恰当的策略选择。 首先,我们来探讨几种常见的负载均衡算法。轮循均衡(Round Robin)是...
负载均衡技术是现代软件工程和架构设计中的关键组成部分,尤其对于构建高可用、高性能的网站系统至关重要。在本文中,我们将深入探讨负载均衡的基本概念、重要性以及如何通过实际应用来优化网站性能。 首先,我们...
SQL Server Always On是微软在SQL Server 2012中...理解和熟练掌握这一技术,对于优化数据库架构、提升业务连续性具有重要意义。在实践中,应结合具体业务场景,灵活运用读写分离、监控管理等策略,以实现最佳效果。
Java集群与负载均衡是构建大型、高可用性Web应用程序的关键技术。它们确保系统能够处理大量并发请求,并在硬件故障或高负载...在实际项目中,理解并熟练掌握这些技术,对于提升系统整体性能和用户体验具有重要意义。
4. **自定义负载均衡策略**:对于特殊需求,开发人员可以编写自定义负载均衡器实现,这需要对WebLogic API有深入理解。 在设置WebLogic 8.1集群负载均衡时,需要注意以下几点: 1. **服务器实例配置**:所有服务器...
负载均衡策略的选取,必须基于对业务需求的深入理解,考虑网络架构的特性和设备能力,以确保策略的有效性和可靠性。在实际应用中,Pool方案和NF Set方案是两种常用的负载均衡策略。Pool方案通常涉及到大量的配置和...