1、 动态列表
首先我们来看一下DynamicServerList 的具体解释,默认值是enable的,
DynamicServerList 用于使proxy实时获取后端cluster中的server列表(比如 cluster中的member增加、删除,member状态的变化(startup、shutdown)),这样proxy在load balance request的时候可以避免去try dead server。同时可以将请求dispatch到cluster中的新增member上(比如预定义的cluster中有server1, server2,某时刻发现后端server load比较高,新增加一个server3,这时候,如果DynamicServerList 为on,你就不需要重新定义 WeblogicCluster,当然也不需要重起plugin。
proxyserver进行请求分发时默认是基于集群的动态列表。除了动态列表,weblogic还维护了一份静态列表。静态列表当中配置了所有被管实例的地址和端口。
将proxy的服务器动态列表调整为静态列表。具体调整方法。
DOMAIN_HOME \applications\proxy\WEB-INF目录下修改web.xml文件在 节中添加如下配置信息:
2、查看动态列表和proxy参数
打开浏览器,访问下面的地址,会得到下图所示的结果:
http://myhost:8080/session.jsp?__WebLogicBridgeConfig (注:__是由两个_组成)
myserver为服务地址(在这里是10.16.92.7)
port为proxy服务的端口(在这里是8080)
可以对比下面两个图。一个是正常的,所有的受管实例都显示,而第二个图中只显示了两个实例。是因为其中的一个实例的状态被认为是不可用的。
3、开启代理服务器的监控参数
为了让大家了解proxy的转发原理,可以开启proxy的debug参数来看。不建议在生产环境中使用,因为会产生大量的日志。所有日志信息记录在 C:\TEMP\wlproxy.log中。
具体方法。
DOMAIN_HOME\applications\proxy\WEB-INF目录下修改web.xml文件在 节中添加如下配置信息:
3.1、转成功的示例
Wlproxy.log完整示例 |
: ===New Request===GET /odps/frame/default.jsp HTTP/1.1: Found cookie: 579281660 : attempt #0 out of a max of 5 : #### Trying to connect to the primary server:579281660!100.16.92.51!7003!-1 : Returning recycled connection: ProxyConnection(isSecureProxy=false): 100.16.92.51:7003, keep-alive=’20′secs : In-bound headers: : User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729) : Accept-Encoding: gzip, deflate : Accept-Language: zh-cn : Accept: */* : Host: 100.16.92.51 : Cookie: JSESSIONID=Q65VV1n5dlTRD2Fb0fMpgx2WVFWM8TJhH6MQzVGtTsQTwXLb1X4n!579281660 : Successfully send request headers to server: 579281660!100.16.92.51!7003!-1 |
3.2、转发不成功
首先会尝试连接primary实例,如果连接不成功,就把这个实例mark为bad,从动态列表里删除,更新动态列表,再去连secondary实例。
3.3、静态列表转发不成功的示例
在开启proxy的Debug参数后我们可以很明显的看到,proxy转发请求的时候会尝试连一个实例5次,如果5次都失败转发失败。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29960155/viewspace-1377540/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29960155/viewspace-1377540/