Chinaunix首页 | 论坛 | 博客
  • 博客访问: 275598
  • 博文数量: 81
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 878
  • 用 户 组: 普通用户
  • 注册时间: 2014-07-25 23:20
文章分类

全部博文(81)

文章存档

2017年(45)

2016年(20)

2015年(2)

2014年(14)

我的朋友

分类: Java

2014-11-07 21:15:31

 很多时候,在技术或者其他原因下,我们无法通过对代码的优化来提高网站访问的速度,这时候,我们就会使用到负载均衡。

    这里,我们会讲到nginx的几种主要的负载均衡的策略(关于nginx的安装和如何利用nginx进行转发,之前已经有文章了,这里就只是简单的提供负载均衡的配置。另:负载均衡会导致session问题,解决办法请看之前的文章)

1、轮询(默认方式)

    顾名思义,这是一种轮流访问所有服务器的方式。这种方式为默认配置,优点是简洁。缺点也很明显,不能进行最优化调度,有可能有的请求需要的耗时较久。

在http区域里添加:


upstream demo{

server 192.168.1.1:8888;

server 192.168.1.2:8888;

}

在你的某个做转发的server里添加:


proxy_pass 

2、加权轮询

这种方式是对轮询的改进,加入了权值的概念。


upstream demo{

server 192.168.1.1:8888 weight=1;

server 192.168.1.2:8888 weight=2;

}

Weight值越高,链接分配的几率越高。

3、ip_hash(基于ip的hash分配策略)

这是一种非轮询的方式,对于每个到达的请求,直接通过其请求的IP进行哈希的映射。可以解决负载均衡中session的问题。


upstream demo{

        ip_hash;

    server 192.168.1.1:8888;

    server 192.168.1.2:8888;

}

4、基于服务响应式

这种方式是根据服务器端的动态响应,对每一个请求进行分配。这种方式能够自动根据当前的后端实际负载来优化。


upstream demo{

server 192.168.1.1:8888;

server 192.168.1.2:8888;

fair;

}

阅读(1917) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~