tuxedo_with_f5_典型案例研究与配置文档.doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
tuxedo_with_f5_典型案例研究与配置文档

F5 BIGIP v9 WITH BEA TUXEDO 典型案例研究与配置文档 Ver 1.0 DIGITALCHINA 刘浩 目 录 1. 用户现状 3 拓扑结构 3 现状分析 4 2. F5解决方案 4 设计目标 4 方案拓扑图 4 Tuxedo With F5 应用访问流程分析 6 3. 配置说明 7 3.1 网络基本配置 7 3.2 编辑EAV脚本(perl) 9 3.3 配置Local Traffic 12 用户现状 拓扑结构 现状分析 xxx用户采用BEA的Tuxedo系统作为营销系统的中间件系统。目前共两台服务器各负担1个地市的访问量,各地市访问的服务地址由总公司统一进行行政通知.日后还将采购4台服务器作为其他地市访问服务器。 目前方案的局限性与潜在威胁: 需要人工监测服务器状态,如果某台服务器宕机,必须手工更改访问服务器,之后还需再行政通知相关地市更改访问地址; 由于各个地市的实际情况还会出现访问量有明显差异的问题,这样会出现有些服务器经常提供不了服务,有些却很空闲的情况; 实际访问过程中经常会出现服务器正常,服务却不可用的情况,人工监测不仅效率低下,而且权限外放极为不安全。 由于Tuxedo系统应用于营销系统,出现以上问题必然会引起重大损失… 问题与可能的解决方法 用户最初想到两个解决方案: 一是采用集群的方式,但集群聚有配置复杂、不稳定、分配不均匀、不智能等缺陷…; 二是采用BEA自带的负载均衡软件包安装在一台服务器上作负载均衡,但也会出现负载不均衡、性能不够、扩展性不强的问题… F5解决方案 设计目标 从用户实际情况出发,与用户沟通后,确定最终解决方案需要达到如下目标: 全省采用统一服务地址; 某台服务器宕机的情况下可自动分配新建连接至其他服务器; 可以监测到服务实际状态,在服务不可用的情况下可自动分配新建连接至其他服务器; 尽量使流量分配均匀; 方案拓扑图 由于用户不希望改变网络拓扑,所以采用旁路方式接入,两台6800旁挂在核心交换机上。配置VS解决统一服务地址问题,配置源地址会话保持解决tuxedo系统每次连接wsh端口变化的问题。采用F5独有的EAV功能为tuxedo做IDLE数智能判断,并以此作为服务状态判断依据。 Tuxedo With F5 应用访问流程分析 配置说明 网络基本配置 根据拓扑结构,配置基本的网络层信息,vlan,self ip,route ,snat 3.2 编辑EAV脚本(perl) #!/usr/bin/perl use strict; use Net::Telnet; require 5.005; #my ($node, $port, $users, $passwd, $pool_name, $port_all) = @ARGV; my $node = $ARGV[2]; my $port = $ARGV[3]; my $users = $ARGV[4]; my $passwd = $ARGV[5]; my $pool_name = $ARGV[6]; my $port_all = $ARGV[7]; if( $ENV{NODE_IP} ) { $node = $ENV{NODE_IP}; } if( $ENV{NODE_PORT} ) { $port = $ENV{NODE_PORT}; } $node =~ s/\:+[A-Za-z]+\://; $port = 23; # Derive and untaint programname. my $programname = / . $0; $programname =~ m/^.*\/([^\/]+)$/; $programname = $1; $node =~ m/^(\d+\.\d+\.\d+\.\d+)$/; $node = $1; $port =~ m/^(\d+)$/; $port = $1; # Process ID and file where its to be stored. The format # is significant. my $pidfile = /var/run/$programname.$node..$port.pid; my $pid = $$; # Maintenence. Clean up any existing EAV. if (-f $pidfile ) { open(PID,$pidfile); my $pid = PID; close(PID); if ( $pid ) { chomp $pid; $pid =~ m/^(\d+)$/;

文档评论(0)

pangzilva + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档