ImageVerifierCode 换一换
格式:DOCX , 页数:28 ,大小:237.23KB ,
资源ID:8715751      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8715751.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(大并发高可用负载均衡系统部署方案设计.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

大并发高可用负载均衡系统部署方案设计.docx

1、大并发高可用负载均衡系统部署方案设计大并发高可用负载均衡系统实施部署方案某某俊泽-2015一、方案说明 为满足公司业务平台的开展需要,应对业务平台的多用户大并发量的访问请求,需要一套高效可靠的系统部署方案。 目前各业务平台存在的问题有,业务系统web数据库单机运行,单台应用服务器提供的访问能力有限,存在单点故障,虽然现在能做到故障急时报警,但出现故障后恢复时间较见;另外业务数据存在安全隐患,数据定时备份,数据库或数据库服务器故障后存在数据留失风险,仅故障恢复时间较常等。 本套部署方案旨在加固业务系统的可靠性、可扩展性,提高业务系统的并发访问,提高业务数据安全性。二、系统架构描述1、系统整体结构

2、图2、WEB端高可用负载均衡2.1 Nginx负载均衡简介 nginx是一款高性能的和反向代理服务器软件,截止到2014年底,Nginx仅次于apache成为第二大web服务器软件,而在全球最忙碌top10000中使用比例更是高达42.7%。其开展速度和流行程度已经远远超过其它同类软件,成为大型和高并发的首选。Nginx的优势轻量级 安装文件小 运行时CPU内存使用率低性能强,支持多核心,处理静态文件效率高,内核采用 的poll模型最大可以支持50K并发连接支持热部署,同时启动速度快,可以不连续服务的情况下对软件和配置进展升级支持负载均衡,支持容错和健康检查代理功能强大,支持无缓存的反向代理。

3、主流的负载均衡方案优缺点参考:c:iknowdocsharedatacur_workuid-27022856-id-3236257.html2.2 高可用方案简介 单台调度服务器如果出现故障就会造成业务不可访问,在关键的业务环境里通常都会提供一台备用调度服务器,用来降低单点故障给业务系统带来的风险。这里推荐使用开源软件Keepalive来提供nginx调度服务器的高可用,当主nginx宕机后,keepalive会将调度业务切换至备用调度主机,继续提供用户访问。 Keepalived的作用是检测web服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故

4、障的web服务器从系统中剔除,当web服务器工作正常后Keepalived自动将web服务器参加到服务器群中,这些工作全部自动完成,不需要人工干预,需要人工做的只是修复故障的web服务器。官方 c:iknowdocsharedatacur_work.keepalived.orgdownload.html3、数据库高可用方案介绍三、WEB端负载均衡与高可用系统部署3.1 前端调度服务器Nginx部署3.1.1 安装说明nginx安装有源码安装和系统匹配的安装包安装,这里为了方便采用redhat下的RPM包安装。3.1.2 Nginx安装1)nginx下载地址2)下载相关的安装包wget 3安装n

5、ginx官方提供的yum源,用yum安装rpm -ivh yum install nginx4)查看安装文件/etc/nginx/etc/nginx/fastcgi_params/etc/nginx/koi-utf/etc/nginx/koi-win/etc/nginx/scgi_params/etc/nginx/uwsgi_params/etc/nginx/win-utf/etc/sysconfig/nginx/usr/sbin/nginx/usr/share/nginx/usr/share/nginx/html/var/cache/nginx/var/log/nginx3.1.3 启动配置

6、1)启动服务# service nginx start 2)查看进程rootRH01 # ps -ef|grep nginx nginx 30623 30622 0 10:56 ? 00:00:00 nginx: worker process 以上信息显示一个主进程和一个工作进程rootRH01 # lsof -i:80MAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEnginx 30622 root 6u IPv4 70955 0t0 TCP *: (LISTEN)nginx 30623 nginx 6u IPv4 70955 0t0 TCP *:

7、 (LISTEN)3)删除或重命名默认配置文件4) 修改配置文件rootRH01 # vim /etc/nginx/nginx.conf default_type application/octet-stream; log_format main $remote_addr - $remote_user $time_local $request $status $body_bytes_sent $_referer $_user_agent $_x_forwarded_for; access_log /var/log/nginx/access.log main; sendfile on; #tcp

8、_nopush on; keepalive_timeout 65; #gzip on; include /etc/nginx/conf.d/*.conf;upstream tomcat ip_hash; server 192.168.18.6:80 weight=10; server 192.168.18.7:8080 weight=10; server listen 80; server_name locahost;location / proxy_pass tomcat; 3.1.4 测试、维护3.2 高可用keepalive部署3.2.1 keepalive安装1)安装前请配置yum源2

9、)yum install -y keepalived 3)查看安装文件路径# rpm -ql keepalived/etc/keepalived/etc/sysconfig/keepalived/usr/bin/genhash/usr/libexec/keepalived/usr/sbin/keepalived4)修改配置文件主调度主机配置文件! Configuration File for keepalivedglobal_defs notification_email yaoyiwalkiesoft. notification_email_from adminwalkiesoft. smt

10、p_server mail.walkiesoft. smtp_connect_timeout 30 router_id 192.168.18.8 #对端主机IPvrrp_instance VI_1 state MASTER #主调度服务器 interface eth0 virtual_router_id 51 priority 100 # 主调度服务器使用高优先级 advert_int 1 authentication auth_type PASS auth_pass 1111 #交互密码 virtual_ipaddress 192.168.18.9 # 虚拟IP地址 备机配置文件:rootR

11、H04 # cat /etc/keepalived/keepalived.conf ! Configuration File for keepalivedglobal_defs notification_email yaoyiwalkiesoft. notification_email_from adminwalkiesoft. smtp_server mail.walkiesoft. smtp_connect_timeout 30vrrp_instance VI_1 state BACKUP interface eth0 virtual_router_id 51 priority 90 ad

12、vert_int 1 authentication auth_type PASS auth_pass 1111 virtual_ipaddress 5)启动服务在主备机同时启动服务,查看主机是否挂载浮动IP6)测试查看主机是否挂载浮动IP,停止主机keepalivd进程,查看备机是否挂载浮动IP,再恢复主机进程,查看浮动IP是否又回到主机。3.2.2 配置监控nginx进程1)经过前面的配置,如果主服务器的keepalived停止服务,备服务器会自动接收VIP对外服务;一旦主服务器的keepalived恢复,会重新接收VIP。 但如果nginx服务故障,备用调度服务器将无法觉察,所以我们要做到

13、当主服务器故障或nginx进程停止,备机能全权接收提供对处服务。2使用nmap检查nginx端口来判断nginx的状态,记得要首先安装nmap,#yum install nmap -y 3参加监控脚本如下:#!/bin/sh#check nginx server status#NGINX=/usr/sbin/nginx#如果发现nginx不正常,先重启进程,等3秒再检查,仍然失败不再尝试!PORT=80nmap localhost -p $PORT |grep $PORT/tcp openif $? -ne 0 ;then sleep 3 nmap localhost -p $PORT |gr

14、ep $PORT/tcp openfi*主备机都要添加4)为脚本添加执行权限chmod +x /etc/keepalived/nginx_chk.sh 5)在keepalive中参加脚本配置vrrp_script chk_port script /etc/keepalived/nginx_chk.sh #监控脚本 interval 2 #时间 weight 2track_script chk_port全部配置文件如:global_defs notification_email yaoyiwalkiesoft. notification_email_from adminwalkiesoft. s

15、mtp_server mail.walkiesoft. smtp_connect_timeout 30vrrp_script chk_port script /etc/keepalived/nginx_chk.sh interval 2 weight 2vrrp_instance VI_1 state MASTER interface eth0 virtual_router_id 51 priority 100 advert_int 1 authentication auth_type PASS auth_pass 1111 virtual_ipaddress track_script chk

16、_port 6)更进一步,为了防止启动keepalived之前没有启动nginx , 可以在/etc/init.d/keepalived的start中首先启动nginx:start() sleep 3 -x $exec | exit 5 -e $config | exit 6 echo -n $Starting $prog: daemon $exec $KEEPALIVED_OPTIONS retval=$? echo $retval -eq 0 & touch $lockfile return $retval6)测试维护查看检测日志:# tail -f /var/log/messages四、

17、数据高可用方案部署1、主库准备工作Host IP DB_NAME DB_UNIQUE_NAME Net Service Name(网络服务名)主库192.168.137.128 ORCLDB WENDING db_wending备库192.168.137.129 ORCLDB PHYSTDBY db_phystdby保护模式:默认最大性能模式注意DataGuard启动顺序:启动顺序: 先standby ,后primary;关闭顺序: 先primary ,后standby;1.1、检查数据库是否支持Data Guard(企业版才支持),是否归档模式,Enable force logging$ s

18、qlplus /as sysdbaSQL select * from v$option where parameter = Managed Standby; 确认主库处于归档模式 SQL archive log list 先检查是否归档模式,不是如此修改 startup mount alter database archivelog; alter database open; 将primary数据库置为FORCE LOGGING模式 SQL alter database force logging; (强制产生日志)1.2、如果主库没有密码文件如此建立密码文件,从而可以OS验证的方式登陆$ o

19、rapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=iamwangnc entries=51.3、配置standby redolog最优性能模式可以忽略,如果将来变成备库且要转为其它两种模式如此要建立SQL alter database add standby logfile group 4 (/orahome/oradata/WENDING/stdby_redo04.log) size 50m, group 5 (/orahome/oradata/WENDING/stdby_redo05.log) size 50m, group 6 (

20、/orahome/oradata/WENDING/stdby_redo06.log) size 50m, group 7 (/orahome/oradata/WENDING/stdby_redo07.log) size 50m;standby redolog的组数参考公式:(online redolog组数 + 1) * 数据库线程数;单机线程数为1,RAC一般为2。standby redolog的组成员数和大小也尽量和online redolog一样。1.4、设置主库初始化参数$ sqlplus /as sysdbaSQL create pfile=/home/oracle/pfile.or

21、a from spfile; (备份参数文件)SQL alter system set LOG_ARCHIVE_CONFIG=DG_CONFIG=(WENDING,PHYSTDBY) scope=spfile; 启动db承受或发送redo data,包括所有库的db_unique_nameSQL alter system set LOG_ARCHIVE_DEST_1=LOCATION=/orahome/arch1/WENDING VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=WENDING scope=spfile; 主库归档目的地SQL

22、alter system set LOG_ARCHIVE_DEST_2=SERVICE=db_phystdby LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=PHYSTDBY scope=spfile; (当该库充当主库角色时,设置物理备库redo data的传输目的地)SQL alter system set LOG_ARCHIVE_MAX_PROCESSES=5 scope=spfile; 最大AR进程数SQL alter system set LOG_ARCHIVE_DEST_STATE_1=ENAB

23、LE scope=spfile; 允许redo传输服务传输数据到目的地,默认是enableSQL alter system set LOG_ARCHIVE_DEST_STATE_2=ENABLE scope=spfile; 同上SQL alter system set REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE scope=spfile; exclusive or shared,所有库sys密码要一致,默认是exclusive-以下是主库切换为备库,充当备库角色时的一些参数设置,如果不打算做数据库切换就不用设置了SQL alter system set FAL_SE

24、RVER=db_phystdby scope=spfile; 配置网络服务名,假设转换为备库角色时,从这里获取丢失的归档文件SQL alter system set FAL_CLIENT=db_wending scope=spfile; 配置网络服务名,fal_server拷贝丢失的归档文件到这里SQL alter system set DB_FILE_NAME_CONVERT=PHYSTDBY,WENDING scope=spfile; 前为切换后的主库路径,后为切换后的备库路径,如果主备库目录结构完全一样,如此无需设定SQL alter system set LOG_FILE_NAME_C

25、ONVERT=PHYSTDBY,WENDING scope=spfile; 同上,这两个名字转换参数是主备库的路径映射关系,可能会是路径全名,看情况而定SQL alter system set STANDBY_FILE_MANAGEMENT=auto scope=spfile; auto后当主库的datafiles增删时备库也同样自动操作,且会把日志传送到备库standby_archive_dest参数指定的目录下,确保该目录存在,如果你的存储采用文件系统没有问题,但是如果采用了裸设备,你就必须将该参数设置为manualSQL alter system set STANDBY_ARCHIVE_

26、DEST=LOCATION=/orahome/arch1/WENDING scope=spfile; 一般和LOG_ARCHIVE_DEST_1的位置一样,如果备库采用ARCH传输方式,那么主库会把归档日志传到该目录下有了以上参数设置,如此无论该库充当主库角色还是备库角色都无需再修改了。然后重启数据库:SQL shutdown immediateSQL startup;1.5、备份主库数据文件关闭应用服务器,停止监听,开始rman备份:$ lsnrctl stop$ rman target /RMAN backup full database format /backup/backup_%T_

27、%s_%p.bak;#RMAN sql alter system archive log current;#RMAN backup archive log all format=/backup/arch_%T_%s_%p.bak;1.6、在主库上建立备库控制文件控制文件通常需要有多份,手工将文件复制几份$ sqlplus /as sysdbaSQL alter database create standby controlfile as /backup/stdby_control01.ctl;$ cd /backup/1.7、为备库准备init参数$ sqlplus /as sysdbaSQL

28、 create pfile = /backup/initPHYSTDBY.ora from spfile;$ cd /backup/$ vi initPHYSTDBY.ora 注意主备库不同角色的属性配置,注意文件路径等,注意db_name要和主库一致,主要是以下参数:audit_file_dest=/u01/app/oracle/admin/PHYSTDBY/adumpbackground_dump_dest=/u01/app/oracle/admin/PHYSTDBY/bdumpcore_dump_dest=/u01/app/oracle/admin/PHYSTDBY/bdumpuser_

29、dump_dest=/u01/app/oracle/admin/PHYSTDBY/udump-control_files=/orahome/oradata/stdby_control01.ctl,/orahome/oradata/stdby_control02.ctl,/orahome/oradata/stdby_control03.ctldb_unique_name=PHYSTDBYlog_archive_config=DG_CONFIG=(PHYSTDBY,WENDING)log_archive_dest_1=LOCATION=/orahome/arch1/PHYSTDBY VALID_F

30、OR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=PHYSTDBYlog_archive_dest_2=SERVICE=db_wending LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=WENDING-fal_client=DB_PHYSTDBYfal_server=DB_WENDINGdb_file_name_convert=WENDING,PHYSTDBYlog_file_name_convert=WENDING,PHYSTDBYstandby_archive_de

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1