2.3 CC & CQ的分布式部署
2.3.1 CC & CQ分布式部署概述
对于较大规模的企业级应用,由于数据量巨大,CC/CQ在实际部署的时候通常采用分布式部署, 将VOB Server,View Server,Registry Server,Database Server分别部署在不同的硬件机器上,这样的部署虽然能满足企业级的需要,但造成拓扑结构过于庞大,会给IT管理带来巨大开支,同时也不利于后期的维护与升级。如下图:

图 4 传统的CC/CQ分布式部署
越来越多的企业基于IT管理的成本与后期维护升级的需要,采用了诸如Sun Fire Server这样大型服务器实现虚拟数据中心。
IBM Rational CC/CQ 系列产品提供了支持虚拟数据中心环境下的部署模式,利用强大的Sun Solaris 10服务器的性能,划分出若干不同的相对独立的Non-Global Zone,将CC/CQ的不同组件分别部署在Global Zone和不同的Non-Global Zone中。这种部署方式有效的利用了Sun服务器的软硬件资源,将复杂的部署拓扑结构实现在同一台服务器中。
在每个Non-Global Zone中部署不同的应用,它们对系统硬件资源的需求是不同的。为了满足这一需求,管理员可以在Global Zone中对系统的资源进行动态分配。在实际使用的过程中,管理员可以针对实际的工作环境的变化以及对每个Server的访问量的变化来动态调整Non Global Zone所占用的系统资源,这样可以达到充分利用资源的目的。例如,在对CQ Database Server访问量减少,而对VOB Server的访问量增多的情况下,管理员可以将分配给CQ Database Server中的闲置的资源调配给VOB Server,这样既提高了VOB Server的性能,而且也提高了系统资源的利用率。
2.3.2 Zone的资源划分建议
在分布式部署CC和CQ的过程中,需要将不同的组件放在Global Zone和不同的Non-Global Zone上,这些Zone的资源划分需要遵循一定的原则。
| 服务器 | 资源划分原则 |
| CQ WebServer | 推荐采用动态分配资源的方式。管理员可以根据企业的实际情况的变化来动态调整硬件资源,包括CPU、内存、硬盘空间大小。 |
| CQ Application Server | |
| CQ Server | |
| CQ Database Server | |
| CCRC Server | |
| CC VOB Server | |
| CC View Server | |
| License Server | 用户量的变化对License Server的影响不是很大,建议采用静态分配资源。 |
关于VOB Server的资源划分建议:物理内存是影响VOB性能的最重要的因素,它可以影响到访问VOB的速度以及并发访问VOB的用户数量。在不降低性能的情况下,可以通过增加VOB Server内存大小来满足更多的用户同时访问VOB。
推荐的内存大小=db_servers的最大数量(即并发用户最大数量)×每个db_server进程占用空间大小(大约5MB)+vobrpc_servers的最大数量(即vob最大数量)×每个vobrpc_server进程占用空间大小(大约10MB)例如:Solaris VOB Server为了满足200个VOB,300个并发用户访问,则推荐的对换空间大小=300×5MB+200×10MB=3.5GB。当并发用户数和VOB数量增加的情况下,管理员就需要给VOB Server增加内存资源,以满足需求。(参考[CC Admin] Rational ClearCase/ClearCase LT Administrator's Guide)
2.3.3 环境部署
为了将CC和CQ分布式的部署在Sun Solaris 10服务器上, 通常情况下的部署方案是:

图 5 分布式部署CC和CQ拓扑图
license-ngzone: 将Rational License Server部署在这个Zone中,统一管理Rational系列产品的License服务。
web-ngzone: 部署用于接收来自CQ Web Browser请求的Web Server,并将请求转发给相应的应用服务器。
was-ngzone: 部署CQ Application Server,处理CQ Web应用服务。
cqserver-ngzone: 部署CQ Server。CQ Core部分部署在这个Zone中。
ccrc-ngzone: 部署CCRC Server,CC Core部分部署在这个Zone中。
注:如果要通过CC/CQ的无缝集成,来实现Rational提供的统一变更解决方案(UCM),此时应将CCRC Server与CQ Server部署在同一个Non-Global Zone中。
db-ngzone: 部署CQ Database Server,由于CQ支持多种数据库,根据企业需要选择部署DB2或者Oracle等企业级数据库Server。
ccuser-ngzone: 部署CCRC for Eclipse的客户端,开发人员通过这个客户端或者Web浏览器来访问CCRC Server。
cquser-ngzone:部署CQ RCP客户端,用户可以通过CQ RCP客户端或者CQ Web来做变更管理工作。
Global Zone:由于Sun Solaris Container技术的限制,CC Vob Server,CC View Server,CQ和CC的Release Area只能部署在Global Zone中。
根据需要,可以在Sun服务服务器中划分出几个user-zone安装CC或者CQ Client端组件,同时也可以利用开发人员远程的机器作为CC或者CQ的客户端访问服务器端的数据。