Nginx作为负载均衡服务

Nginx作为负载均衡服务简介

Nginx负载均衡

GSLB(全局负载均衡)

 

调度中心节点:一个全局的调度节点;

调度节点:一个局部调度节点;

应用服务中心节点:一个全局的应用服务调度节点;

应用服务:一个局部应用服务节点;

调度中心节点管理着调度节点;

应用服务中心节点管理着应用服务;

举例:

第一步:张三请求局部调度节点,局部调度节点则返回服务地址给张三;

第二步:张三根据局部调度节点返回的服务地址,请求局部应用服务,局部应用服务则返回结果给张三。

SLB(负载均衡)

调度节点与服务节点处于一个逻辑单元里面,这样对于部分服务的实时性、响应性是非常好的。

Nginx使用的就是SLB。

四层负载均衡和七层负载均衡

四层负载均衡

按照网络OSI模型可以分为四层负载均衡和七层负载均衡;

四层负载均衡:在OSI模型里面的传输层,传输层能支持到tcp/ip协议,所以只需要转发tcp/ip协议的包,就可以实现负载均衡。

优势:性能非常好,只需要在最底层应用处理,而不需要进行一些复杂的逻辑,只需要包的转发就行

七层负载均衡

七层负载均衡主要是在应用层使用,所以它可以完成很多应用层的协议请求,比如HTTP协议的负载均衡,它可以实现HTTP信息的改写,头信息的改写,应用规则的控制。

Nginx就是典型的七层负载均衡SLB。

nginx 作为负载均衡服务配置

Nginx负载均衡模型图

upstream server就相当于配置的虚拟服务池

upstream配置语法

  • Syntax: upstream name { ... }
  • Default: —
  • Context: http

负载均衡案例配置

server1.conf

server {
    listen       8001;
    server_name  localhost;

    #charset koi8-r;

    location / {
        root   /opt/app/code1;
        index  index.html index.htm;
    }
}

  

server2.conf

server {
    listen       8002;
    server_name  localhost;

    #charset koi8-r;

    location / {
        root   /opt/app/code2;
        index  index.html index.htm;
    }

}

  

server3.conf

server {
    listen       8003;
    server_name  localhost;

    #charset koi8-r;

    location / {
        root   /opt/app/code2;
        index  index.html index.htm;
    }

}

  

upstream_test.conf

    upstream imooc {
        server 192.168.1.112:8001;
        server 192.168.1.112:8002;
        server 192.168.1.112:8003;
    }

server {
    listen       80;
    server_name  www.zhangbiao.com;

    resolver  8.8.8.8;

    location / {
        proxy_pass http://imooc;
        proxy_redirect default;

    }

  

刷新一次

刷新二次

属性三次

Upstream举例

upstream backend {
    server backend1.example.com weight=5;
    server backend2.example.com:8080;
    server unix:/tmp/backend3;

    server backup1.exmple.com:8080 backup;
    server backup2.example.com:8080 backup;
}

  

原文地址:https://www.cnblogs.com/crazymagic/p/11029415.html

时间: 2024-11-13 09:04:07

Nginx作为负载均衡服务的相关文章

Nginx作为负载均衡服务介绍

? GSLB ? SLB ? 四层负载均衡 ? 七层负载均衡 ? 四层负载均衡 四层负载均衡工作在OSI模型的传输层,由于在传输层,只有TCP/UDP协议,这两种协议中除了包含源IP.目标IP以外,还包含源端口号及目的端口号.四层负载均衡服务器在接受到客户端请求后,以后通过修改数据包的地址信息(IP+端口号)将流量转发到应用服务器. 七层负载均衡 七层负载均衡工作在OSI模型的应用层,应用层协议较多,常用http.radius.dns等.七层负载就可以基于这些协议来负载.这些应用层协议中会包含很

搭建Nginx负载均衡服务文档一

搭建负载均衡服务的实际需求: 1.把单台服务器无法承受的大规模并发访问或数据流量分担到多台节点设备上,分别进行处理,减少用户等待响应的时间,提升用户体验. 2.单个重负载的运算分担到多台节点设备上做并行处理,每个节点处理结束后,将结果汇总,返回给用户. 3.7*24小时的服务保证,任意一个或多个有限后面节点设备宕机,不能影响业务. 实现Nginx负载均衡需要两个组件: l  Ngx_http_proxy_module,用于把请求后抛给服务器节点或upstream服务器池: l  Ngx_http

使用nginx+Apache负载均衡及动静分离

使用nginx+Apache负载均衡及动静分离 介绍    LB负载均衡集群分两类: LVS (四层)和 nginx或haproxy (七层)    客户端都是通过访问分发器的VIP来访问网站 在七层中的网站页面有: .php .html .png .jpeg .jsp 等, 有动态页面有静态页面. 需要在应用层基于不同的应用进行分发. 一:实验拓扑图:     二:实验目标 实战:使用Apache+nginx实现动静分离的负载均衡集群 三:实验环境 主机作用分类 主机名 IP地址 安装软件 N

基于nginx的负载均衡概述与实现

前言: 前面我们提到了lvs和keepalived结合起来的高可用负载均衡,lvs根据原目ip地址及端口将其调度转发至后端 的某个主机,是一种四层的实现,因为lvs是四层的,所以不会受限于套接字或打开的文件数量.不过,如果我们想实现一些更高阶的功能,lvs就显得力不从心了,比如基于uri,cookie,header头部信息的负载均衡,此时我们就可以选择一些7层的负载均衡实现,比如nginx或haproxy等.本次我们就先来讲讲nginx的负载均衡把~ 正文: 其实,如果对lvs的各种类型和调度有

LVS DR模式 负载均衡服务搭建

LVS 负载均衡 最近在研究服务器负载均衡,阅读了网上的一些资料,发现主要的软件负载均衡方案有nginx(针对HTTP服务的负载均衡),LVS(针对IP层,MAC层的负载均衡).LVS模式工作在网络层,且由内核实现负载转发,效率要比nginx高.     LVS负载均衡包含三种模式: 1. NAT模式(类似路由器,实现外网内网地址映射,负载均衡服务器修改请求包的源以及目的MAC地址和IP地址,发送给实际服务器:负载均衡服务器,修改响应包的源以及目的MAC地址和IP地址,发送给客户端.请求和响应报

Nginx学习——负载均衡

负载均衡 Nginx提供了较多的负载均衡策略,包括加权轮询.IP哈希.fair.一致哈希等.前两个是Nginx官方源码内置的策略,而后面几个都是第三方模块,所以下面我们重点来看前两个内置策略. Nginx默认采用round_robin加权算法,如果要采用IP哈希策略,那么必须在Nginx的配置文件里通过配置指令ip_hash明确指定. 当整个http配置块被Nginx解析完毕之后,会调用各个http模块对应的初始函数.对于模块ngx_http_upstream_module而言,对应的main配

nginx实现负载均衡

一.测试环境 OS: rhel6 Lib1: 192.168.20.106   A服务器 Lib2: 192.168.20.107   B服务器 Lib3: 192.168.20.108   C服务器 部署: A服务器做为主服务器,域名直接解析到A服务器(192.168.20.106)上,由A服务器负载均衡到B服务器(192.168.20.107)与C服务器(192.168.20.108)上. upstream是Nginx的HTTP Upstream模块,这个模块通过一个简单方法来实现在轮询和客

nginx四层负载均衡配置

nginx四层负载均衡配置代理Mysql集群 环境如下: ip 192.168.6.203 Nginx ip 192.168.6.*(多台) Mysql 步骤一 查看Nginx是否安装stream模块 没安装则进行安装 操作步骤如下 至此 已保证在没中断服务的情况下成功添加stream模块 步骤二 配置 mysql负载均衡案例 修改Nginx配置文件nginx.conf 内容如下图 测试步骤如下 后端Mysql需做好读写分离 创建好相应权限的用户 到客户端连接Nginx创建wuguiyunwei

【Nginx】负载均衡-IP哈希策略剖析

转自:江南烟雨 IP哈希初始化 IP哈希的初始化函数ngx_http_upstream_init_ip_hash(ngx_http_upstream_ip_hash_module.c): static ngx_int_t ngx_http_upstream_init_ip_hash(ngx_conf_t *cf, ngx_http_upstream_srv_conf_t *us) { //调用了加权轮询 if (ngx_http_upstream_init_round_robin(cf, us)