Citrix XenApp Zone Design

关于XenApp服务器Zone的设计,设计到以下几点,搞清楚原理以后,就应该知道如果来选择zone的部署方式了。

Zone能有多大?

确切的说没有技术限制一个区域可以有多大。一般地,XenApp单个zone支持多达512台服务器,而且也有注册表键值可以修改该最大数值。

 HKEY_LOCAL_MACHINE\Software\Citrix\IMA\Runtime\ MaxHostAddressCacheEntries

现实中,可能会考虑分割成多zone或者多站点等等方法。但是一般不建议同一个zone超过512台,比如1000或者1500。很容易理解,当一个zone达到1000台以后,可想而知Data Collector的流量,当一台发生变化以后,要同步到1000台服务器。所以推荐单个zone中服务器不要太多。

Zone Strategy

要讨论zone strategy(区域策略),你需要了解:

  • 如何,在什么地方分割你的Farm成多个zone
  • 你是否需要创建独立的Data Collector服务器

创建多少个zone

最主要的是,你需要决定创建多少个zone?换句话说,你的zone边界在哪里。此时,有几点需要考虑到:

  • 用户分布在哪里?
  • 用户怎么接入系统?
  • Farm的数据库是如果建立的?

要记住,创建Zone是为了创建另外一个新的Data Collector,新的Data Collector意味着其离用户更近。而且在zone之间同步需要更少的次数。可以参考下面两种情形:

当Farm有100台服务器,每边50台。在单个zone的情况下,当服务器状态发生变化时候,Data Collector需要与另外一边的50台服务器发生50次穿越WAN的连接。而如果在两边分别建立zone,那么此时只需要两边的Data Collector同步一次即可。

建立zone的好处:

  • 用户连接速度更快
  • 更新只在WAN上穿越一次(Data Collector到Data Collector)

有这么多优点的话,为什么不创建更多的zone呢?如果你创建更多的zone的话,又发生了XenApp早期版本的问题了,每台服务器之间都需要建立连接,太耗费资源,需要同步太多的次数。最坏的情况,每台服务器一个zone,如果有40个zone,那么有一台服务器发生变化,那么该zone的Data Collector需要同步到其他39个Data Collector,需要建立39个连接。这种情形可以参考本篇引出Data Collector时的叙述。

建立太多Zone的缺点:

  • Data Collector需要发送会话更新到所有其他Data Collector,意味着,更多的zone需要更多的流量和带宽在每次发生会话事件的时候。