中间层负载均衡
K/3 系统整体基于微软 DNA架构,使用 DCOM进行通讯,理论上可以实现组件负载均衡(CLB, Compone2nt Load Balancing)。微软官方的组件负载均衡方案只能基于 Application Center 2000,此软件需另行购买。而 Application Center 2000 在 06 年底已停止销售,目前没有替代产品,所以 K/3 在 07 年之后就没有提供中间层 的自动负载均衡方案。
如确实需要同时使用多个中间层,金蝶推荐采用手工负载均衡的方式,也即为不同的客户端指定不同的 中间层,或者分模块指定不同中间层。
K/3V10.2 及更高版本,配合 Windows Server 2003SP1 以上服务器操作系统,中间层效能已经非常好,通 常做负载均衡的必要。例如 4~8 个物理内核+4GB 内存的服务器,完全可以带动 400 个以上的并发。从过往 案例看K/3 如果出现性能瓶颈,基本都在数据库服务器。
如果有大并发量的合并报表客户端,可以单独设立合并报表中间层,此时将合并报表客户端配置指向该专用合并报表中间层即可,不需要自动负载均衡方案的支持。
自动负载均衡除了组件负载均衡(CLB)外,更最常见的是网络负载均衡(NLB, Network Load Balancing), Windows Server 2003 所有版本都内置此功能,而且 NLB 硬件设备在企业应用也很广。但微软指出 NLB并不 是有效的 COM+负载均衡方式,请参见微软的网站,
不建议采用NLB 软件或设备对 K/3 中间层做负载均衡。
中间层故障转移 (双机热备)
K/3 中间层可以实现故障转移,也就是双机热备。目前支持:
• Windows 群集服务(MSCS),需要中间层操作系统为Windows Server 2003 企业版。
• 第三方 IP 故障转移软件/设备,理论上都支持,但没经过广泛测试。
K/3 中间层也负责承担系统License 服务(又称为加密服务),因为 License 文件(软加密)或智能卡(硬加密) 通常只有一个,所以就有故障转移时 License 服务如何转移的问题:
• 对于软加密客户,推荐另外设立一台专门的 License 服务器,不参与故障转移群集,因为加密服务工 作负载较低,通常也不会因为工作负荷的原因宕机。
• 对于硬加密客户,可以同上设立单独的 License 服务器,也可以当故障转移时手工将智能卡换到备用节点服务器上。
K/3 中间层可以用 Windows群集服务(MSCS)实现故障转移,K/3 数据库也可以用 MSCS 实现故障转移,但通常不推荐中间层和数据库放在同一套服务器上做故障转移群集,以免中间层和数据库互相争抢服务器资源。