使用nginx作HTTP负载均衡
来源:互联网 发布:创建mysql数据库表 编辑:程序博客网 时间:2024/06/07 04:55
负载均衡是一种跨越多个应用实例,通常用来优化资源配置/最大化吞吐量/减少延迟/保证容错性配置的技术。
nginx是一种非常有效的负载均衡器,它可以给几个应用服务和分发任务,并提高nginx web应用程序的性能,可扩展及可靠性。
负载均衡的几种方式:
1.轮询(round-robin)
这个是nginx默认的负载均衡策略,下面这个配置中3个相同的应用程序服务器srv1-srv3,所有的请求通过反向代理给了myapp1组,nginx通过负载均衡来分发这些请求到三个服务上
http { upstream myapp1 { server srv1.example.com; server srv2.example.com; server srv3.example.com; } server { listen 80; location / { proxy_pass http://myapp1; } }}
2.最少连接(least-connected):nginx不会将请求分发到繁忙的机器上面,而且将新的请求分发的较清闲的机器上面
upstream myapp1 { least_conn; server srv1.example.com; server srv2.example.com; server srv3.example.com; }
模块中配置least_conn指令来激活least-connected负载模式
upstream myapp1 { ip_hash; server srv1.example.com; server srv2.example.com; server srv3.example.com;}4.weight:指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况
upstream myapp1 { server srv1.example.com weight=3; server srv2.example.com; server srv3.example.com;}上面的配置中,如果有5个请求,有3个会分配到serv1上,有1个会分配到srv2上,有一个会分配到srv3上。如果不指定weight,默认是平的的
负载均衡包含服务器的健康检查,如果某个请求被分配到了一个服务器上,服务器无法响应,那么nginx会标记它失败了,在短时间内,nginx是不会将之后的请求分配给标记失败的服务器。max_fails指令可以设置最大失败次数,默认是1,需要先设置了fail_timeout才行。fail_timeout指定响应时间超过多少秒就将服务器标记为失败。服务器标记失败后,nginx会使用几个客户端请求优雅地探测服务器,如果探测成功,则服务器标记成功。
除了以上几种方式之外,还有fair,url_hash的方式,大家可以参考:http://www.cnblogs.com/xiaogangqq123/archive/2011/03/04/1971002.html
0 0
- 使用nginx作HTTP负载均衡
- 使用nginx作tomcat的负载均衡
- 使用nginx作tomcat的负载均衡
- 使用nginx当做http的负载均衡
- 使用nginx作为HTTP负载均衡
- Nginx Http负载均衡
- 使用Nginx负载均衡
- Nginx HTTP负载均衡示例
- Nginx HTTP 负载均衡示例
- 使用Nginx为HTTP服务做负载均衡
- 使用nginx负载均衡lucene
- Nginx负载均衡使用心得
- 使用Nginx实现负载均衡
- 使用nginx+tomcat负载均衡
- 使用Nginx完成负载均衡
- 使用Nginx实现负载均衡
- 使用nginx做负载均衡
- Nginx实现HTTP负载均衡和TCP负载均衡
- theano 3
- Javascript打开标签页google失效
- Android学习笔记-全屏无标题设置
- 设计模式--适配器模式
- 黄金数据查询
- 使用nginx作HTTP负载均衡
- 前端代码规范 及 最佳实践
- 黑马程序员_java内部字符编码浅析
- javascript基础知识梳理-对象转换为初始值 .
- Java解析Google Maps API返回的Json
- 查看进程
- Canvas画矩形之三种方法
- 如何使用HTML5实现利用摄像头拍照上传功能
- Android Fragment总结