`
king_tt
  • 浏览: 2110679 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

负载均衡 统一接入层方案

 
阅读更多

1概述

信息中心网络组已经对应用服务器所在的网络进行划分,应用系统的节点分别部署到网络的接入层、应用层和数据层。这样的划分能够提高应用系统和敏感数据的安全性,但是增加了应用系统部署的复杂性。

根据网络规划,接入层作为用户(包括内部用户和外部用户)与关键服务器的隔离层,直接接收用户的请求,并转发给应用服务器。作为一种尝试,目前在接入层已经开始使用nginx对应用服务器进行反向代理,并支持多个应用服务器的负载均衡。

但是从应用系统部署的角度来看,接入层尚缺少统一的技术方案和整体规划。本文提出本证券公司应用系统接入层整体解决方案,以期达到如下的目的:

  1. 提出统一的接入层方案,规范应用系统的部署。
  2. 实现统一的应用服务器负载均衡解决方案。
  3. 通过公共的接入服务器和集中的配置,减小系统上线的工作量。
  4. 解决接入层的单点问题,保证高可用。
  5. 实现内外部域名的统一指向。
  6. 整合各应用系统的URL,对于子域名、虚拟目录等进行统一规划和分配。

2技术方案

2.1要考虑的问题

统一接入层技术方案主要考虑两方面的问题:负载均衡和高可用。

  • 负载均衡

采用一定的分配算法将网络请求分发到后端的多个服务器,从而获得更高的性能。实现负载均衡功能的软/硬件称为负载均衡器。 本文中的负载均衡特指将客户的http请求分发到后端的web服务器或应用服务器。

  • 高可用

为了避免负载调度器的单点故障,部署多个负载调度器节点,通过并行或主从的方式同时工作。

  • 会话保持

会话服务器端维持的状态信息,使得服务器能够识别同一客户的多次请求之间的关联。会话保持是指负载均衡器上的一种机制,通过会话保持,负载均衡器能够识别同一客户端多次请求的关联性,并能够将相关联的请求分配到同一台后端服务器上。

  • 配置灵活性

因为需要整合各应用系统的URL,对于子域名、虚拟目录等进行统一规划和分配,需要考虑配置的灵活性和分流策略的多样性。

2.2总体架构

统一接入层的总体架构如下图所示:

2.3负载均衡器选型

考虑到管理类系统都是内部用户,总的并发不高。按照峰值 3000员工*(10请求/秒)= 3万请求/秒 进行估算,软件负载均衡器就能够满足要求。

目前比较流行的软件负载均衡器包括NginXHAProxyLVS(Linux Virtual Server)。三者的对比如下:

LVS HAProxy Nginx
网络协议层 4 4,7 7
性能 最高
资源消耗
安装配置 复杂 一般 简单
支持的协议 tcp之上 tcp之上 http,pop/smtp
会话保持 不支持 支持 支持
虚拟主机 不支持 支持 支持
其他功能 支持广域网负载均衡 支持URL方式检查后端服务器状态 可以作为web服务器,支持web缓存,支持虚拟目录

从上面简单的对比可以看出,LVS性能最好,能够适应多种网络协议,可以用作大多数服务器的负载均衡,但是配置比较复杂,对http协议没有额外的功 能;HAProxy性能比Nginx要好,对http协议提供了一些额外支持;Nginx的性能略差于HAProxy,对http协议的额外支持与 HAProxy各有千秋,但是NginX能够针对域名、URL目录结构等配置分流策略,配置更加强大和灵活,同时NginX还可以作为web服务器并支持 web缓存。

综合上述分析,对于本文要实现的“统一web应用接入层”,使用NginX更加合适。其主要优势在于配置策略的灵活性,能够有效实现子域名、虚拟目录、URL路径的统一规划和管理。 同时,相对其他两款负载均衡器,NginX在公司内部有一定的技术积累,所以本方案选择NginX作为统一接入层的负载均衡器。

而HAProxy适合单个应用的负载均衡,尤其适合web服务器和mysql服务器的负载均衡;LVS更适合高并发网站的最前端负载均衡(作为硬件负载均衡的替代)。

2.4高可用方案

目前服务器的高可用(HA,High Availability)主要通过服务器集群(Cluster)技术来实现。比较常见的集群软件包括keepalived, heartbeat和NLB等。 对于NginX,最成熟的架构是配合keepalived实现高可用。

Keepalived是Linux下实现VRRP备份路由的高可靠性运行件。能够实现主服务器和备份服务器故障时IP瞬间无缝交接。而NginX支持Master-Backup的部署方式。配合Keepalived,能够通过两台NginX的集群实现高可用。

具体方案包括:

  • 在两台linux服务器上均部署NginX和keepalived
  • 两台服务器为主备(Master-Backup)关系,对外有相同的虚拟IP(VIP)
  • keepalived监测服务器的IP存活,当发现故障时接管虚拟IP
  • 编写自定义脚本用于keepalived监测NginX的存活状态。如果发现NginX故障,杀掉NginX所在服务器的keepalived,使得另一台keeplived可以接管。
  • 需要配合监控和报警机制

2.5会话保持方案

为简单起见,本方案中不考虑会话同步/共享。但在NginX会采用ip-hash策略,保证同一客户的请求会被转发到相同的后端服务器,从而实现会话保持。 如果应用系统需要进行会话同步,需要自行考虑redis、memcached等方案。

2.6URL资源的统一规划

尽量减少子域名的数量和变化频度,可以考虑按照应用系统的类别划分子域名,如:

类别 二级域名
管理系统 coworks.mycompany.com
移动办公 m.mycompany.com
开发类 dev.mycompany.com
其他 site.mycompany.com

应用系统的变化相对频繁,为了简化应用系统部署,用二级域名的第一级目录指定具体的应用系统,如:

URL 应用系统
dev.mycompany.com/svn 版本管理
dev.mycompany.com/submin svn web管理界面
dev.mycompany.com/jira 缺陷管理
dev.mycompany.com/trac 系统资料(wiki)
dev.mycompany.com/software 开发工具下载
dev.mycompany.com/mirrors 内部yum源
dev.mycompany.com/maven maven私服

2.7方案扩展

  • 当并发进一步增加时,在nginx前端再部署LVS/F5
  • 对于非web应用,可以在接入层部署LVS或HAProxy
  • HAProxy或LVS也可用于数据库的负载均衡

3实施计划

  • 搭建
  • 测试
    • 测试故障切换
    • 测试故障恢复
    • 测试性能
    • 测试不停止服务的情况下更改NginX配置
  • 准备规划好的二级域名
  • 迁移

Author: Holbrook Wong<wanghaikuo@gmail.com>

Date: 2012-10-16 16:23:35 CST

HTML generated by org-mode 6.33x in emacs 23

分享到:
评论

相关推荐

    有线网络设计方案.doc

    层次化:在拓扑可以看出,该方案设计模型分为3个层次(核心层,汇聚层和接入层),每 一层都有特定的功能. 核心层:由两台核心交换机及中心机房组成,并考虑冗余设计。核心交换机之间采用VRR P协议来实现负载均衡和双机...

    XXXX云计算平台建设总体技术方案

    4.4 数据中心接入层设计 24 第5章 应用服务控制与负载均衡设计 28 5.1 功能介绍 28 5.1.1 基本功能 28 5.1.2 应用特点 29 5.2 应用优化和负载均衡设计 33 5.2.1 智能服务机箱设计 33 5.2.2 应用负载均衡的设计 36 ...

    家庭智能组网解决方案.pptx

    并且支持多外网线路、多运营商同时接入,通过负载均衡和协议分流技术实现带宽叠加。 IPTV广播电视网 智能网络,全屋无死角(AP+AC)解决方案,在满足WiFi无死角覆盖的同时,AP面板支持IPTV电视输出,仅需要一根网线...

    某公司网络安全方案.doc

    制定统一的互联网接入点、外联网接入点的技术标准与管理规范,统一约定网络边 界接入点的网络结构、保证内部网络与外部网络之间的安全隔离。 制定统一的远程移动办公技术标准,保证远程移动办公接入的安全性。 制定...

    WIFI设计方案.docx

    无线方案设计介绍 稳定性 通过无线控制器,可以实现AP之间的负载均衡,保证在密集用户使用场景,AP不会因为过度的接入终端导致网络中断。 安全性 强化的身份认证机制,保证无线网络安全,用户登录无线网需要管理员...

    校园综合视频监控平台方案最终版72页.doc

    “校园综合监控系统”可以接入所有校园的第三方监控摄像头,对接入的所有摄像头进行状态监控,判断监测摄像头的工作状态是否正常有效,并能够实时呈现告警、记录日志。 1.2.2.2 客户端系统支持 平台客户端支持Linux...

    西安京东数据通讯网络设计方案.docx

    6 3.3、智能带宽管理 6 3.4、行为管理 7 3.5、更多实用功能 7 3.6、集中式管理 7 3.7、网络负载均衡 8 四、设备清单 9 西安京东数据通讯网络设计方案全文共11页,当前为第3页。西安京东数据通讯网络设计方案全文共11...

    医院网络设计方案.docx

    3.4数据中心设计 3.5互联网接入设计 第四章:设计方案技术 4.1冗余与负载均衡设计 4.2路由设计 4.3网络安全设计 4.4网络管理与维护设计 4.5虚拟专用网 4.6在网络中部署QoS 4.7可扩展性设计 第五章:网络设备选型 第六...

    云原生开发框架及免费云原生框架获取,spring cloud 云原生 低代码

    Gate 是统一的接入网关,提供多种路由策略、负载均衡、权限控制;Admin 提供了应用系统开发运用所需要的基本组件;Registry 提供了服务注册、服务发现、实例管理等功能;Config 可以对配置文件进行管理,支持配置的...

    医院网络设计方案(1).docx

    3.4数据中心设计 3.5互联网接入设计 第四章:设计方案技术 4.1冗余与负载均衡设计 4.2路由设计 4.3网络安全设计 4.4网络管理与维护设计 4.5虚拟专用网 4.6在网络中部署QoS 4.7可扩展性设计 第五章:网络设备选型 第六...

    计算机网络系统设计解决方案.doc

    冗余主要包括以下几点: 链路冗余 在主干连接(主干设备之间、与汇聚设备之间的连接)具备可靠的线路冗余方式,采 用负载均衡的冗余方式,即通常情况下两条连接均提供数据传输,并互为备份。 模块冗余 主要设备(主干...

    信息系统安全设计方案及对策模板.doc

    系统结构及部署 1 系统拓扑图 此处描述系统各层设备的部署,主要侧重安全设备之外的设备,包括:WEB服务器、应用 服务器、数据库服务器, 及其所处的区域,包括:外网接入区域、DMZ区域、网区域、核心数据区域、测试...

    华为HCNP-Security LVC公开课培训视频教程汇总集【共3科84集】.rar

    7.1_访客管理技术_访客管理功能及接入原理 7.2_访客管理技术_常用操作及典型案例分析 8.1_敏捷网络技术_敏捷网络原理介绍 8.2_敏捷网络技术_敏捷特性配置 9.1_终端安全管理_终端安全概述 9.2_终端安全管理_安全...

    开涛高可用高并发-亿级流量核心技术

    2.9 Nginx四层负载均衡 39 2.9.1 静态负载均衡 39 2.9.2 动态负载均衡 41 参考资料 42 3 隔离术 43 3.1 线程隔离 43 3.2 进程隔离 45 3.3 集群隔离 45 3.4 机房隔离 46 3.5 读写隔离 47 3.6 动静隔离 48 3.7 爬虫...

    阿里云ossjava源码-microservices-platform:基于SpringBoot2.x、SpringCloud和SpringC

    提供应用管理,方便第三方系统接入,支持多租户(应用隔离) starter组件化的思想实现最小化依赖 1.2 核心功能 统一认证功能 网关统一认证 url级权限控制 支持oauth2的四种模式登录 支持用户名、密码加图形验证码登录 ...

    智能调度平台系统技术要求.pdf

    2.10系统须支持负载均衡及双机热备。 2.11除系统所用到的硬件、数据库软件及操作系统的费用由招 标人承担以外,其它费用均由投标人承担。 2.12电子地图要求必须支持ArcGIS地图,同时支持目前免费的 主流地图,包括...

    FCat企业级基础功能框架-其他

    10、JWT 提供了一种用于发布接入令牌(Access Token),并对发布的签名接入令牌进行验证的方法。 令牌(Token)本身包含了一系列声明,应用程序可以根据这些声明限制用户对资源的访问。 11、Config 配置文件统一管理 ...

    后勤智能管理系统-...doc

    系统应具备可扩展性,兼容性,为今后龙华医院其它系统接入提供预留接口。 2 建设原则 经济,全面,有效的解决当前后勤管理中的不足。 3 基本要求 龙华医院后勤智能化管理平台开发系统基本要求: 1) 后勤智能化管理...

    mallcloud商城-其他

    真正实现了基于RBAC、jwt和oauth2的无状态统一权限认证的解决方案,面向互联网设计同时适合B端和C端用户,支持CI/CD多环境部署,并提供应用管理方便第三方系统接入;同时还集合各种微服务治理功能和监控功能。模块...

    mallcloud商城 v1.0

    真正实现了基于RBAC、jwt和oauth2的无状态统一权限认证的解决方案,面向互联网设计同时适合B端和C端用户,支持CI/CD多环境部署,并提供应用管理方便第三方系统接入;同时还集合各种微服务治理功能和监控功能。模块...

Global site tag (gtag.js) - Google Analytics