WEB开发网
开发学院软件开发Java 浅析weblogic10 plugin中的DynamicServerList 阅读

浅析weblogic10 plugin中的DynamicServerList

 2009-09-22 00:00:00 来源:WEB开发网   
核心提示: 1finally2{3StringdynamicList=ri.getDynamicList();4if(dynamicList!=null){5ServerListservers=newServerList(dynamicList,false);6if(!useDynamicList){78}

 1      finally
 2      {
 3          String dynamicList = ri.getDynamicList();
 4           if (dynamicList != null) {
 5             ServerList servers = new ServerList(dynamicList, false);
 6             if (!useDynamicList) {
 7                         
 8             } else {
 9               servers.setHash(ri.getDynamicHash());
10               if (verbose) trace("Updating dynamic server list: " + dynamicList);
11               srvrList = servers;
12               servers.addToKnownServersList(allKnownServers);
13             }
14      }

至此,DynamicServerList 的实现流程基本能看明白了吧。而对于static server list,不建议大家使用,否则proxy的分发性能会在cluster不稳定的时候发生下降。但在cluster本身partition掉的时候,static server list会显得更好。也就是说cluster出现问题了,cluster中的member不能看到所有其他的members(甚至只能看到自己),比如 cluster中有4个server, A\B\C\D,如果某一时刻请求被dispatch到A上,而此时如果A只能看到B(即在A的眼中,只有它自己和B可以提供服务),这时候A会将只包含 A\B的cluster server list返回给proxy,那么proxy在分发后续请求的时候,只会在A\B上做load balance(C\D不会接受到请求,虽然他们还在running),直到cluster恢复正常或发生变化。而这种情况下,如果static server list的话,A\B\C\D都会接受到proxy分发过来的请求。当然这只是种非正常情况,出现这种情况的时候,我们首要任务应该是解决cluster partition的问题,而不是依赖于static server list。

上一页  1 2 3 4 5 

Tags:浅析 weblogic plugin

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接