欢迎进入Wiki » FAQ » 集群部署注意事项?

集群部署注意事项?

在2015-05-22 16:26上被李小翔修改
评论 (0) · 附件 (0) · 记录 · 信息

为了获取更高性能与更高可用性,一些较大的项目常常采用集群的部署方式,本文对集群环境下的部署做一些常见问题与注意事项的说明。

禁用集群配置

默认情况下,集群配置都是默认启用和自动配置的,包括在 web.xml 中生成 distributable 标签以便启用 tomcat 集群、ehcache、cometd 等。

如需禁用集群,可以在 Config.groovy 中如下配置即可:

// 禁用 tomcat 集群
bropen.toolkit.cluster.tomcat.enabled = false
// 禁用 EhCache 的集群同步
bropen.toolkit.cluster.ehcache.enabled = false
// 禁用 CometD 的 Oort 集群
bropen.toolkit.cluster.cometd.enabled = false

主机防火墙配置

如果主机打开了防火墙的话,一般情况下,需要过滤下列端口:

1、HTTP 服务端口,如 80、443

2、Tomcat 端口,如 8080

3、Tomcat 集群端口,如 4000

    通过启动日志检查:Receiver Server Socket bound to

4、EhCache 集群端口(UDP),如 4446

    通过启动日志检查:EhCache multicast port

5、ComedD 集群端口(UDP),如 5577

    通过启动日志检查:CometD oort multicast port

主机名与IP地址的映射关系

EhCache 的同步地址是通过主机名计算的,但是某些 Linux 发行版中(如 Ubuntu),主机名会自动映射到 127.xxx 的地址上,导致缓存无法同步,因此部署时需要检查一下 /etc/hosts 中的主机名映射关系。

如果映射关系有误,可以修改 hosts,或者配置 clusters.properties 来解决该问题。

共享存储

集群环境下,系统附件、模板、ckeditor/ueditor上传的图片需要能通过任意一台服务器均可访问到,因此需要保存到一个共享的存储空间中。

一般可以通过 NAS 设备 + 各种共享协议(如NFS、网络邻居/Samba等)挂载到各个主机上;或者挂载到某台主机上后,通过NFS、网络邻居/Samba共享到其他主机的相同路径。

然后配置各类系统参数资源路径(bropen.framework.resource.XXXX)等。

服务地址

系统配置(不是 Config.groovy)中有一条 grails.serverURL,默认为 http://localhost:8080,集群环境或非集群环境下,需要配置为服务地址和IP,如 http://bpm.bropen.cn,以免导致一些特定场景下生成的 URL 错误。

此外集群环境下,肯定有一个负载均衡的前端进行分发,如 Apache Http Server、NGIX、四层交换等,服务地址应该映射到这些前端上,而不是各个集群节点。

垂直集群

由于我们选择的 EhCache 同步机制的原因,在一台主机上部署垂直集群时,需要将不同的 jvm 绑定到不同的 IP 地址上,因此需要给主机配置多个 IP 地址,同时配置各节点的 clusters.properties 指定对应的 IP 地址。

集群配置文件 clusters.properties

一般情况下,都不需要这个配置文件,但是一些特定的情况下必须配置,比如 jvm 端口不是 8080 (会影响 CometD 集群)、垂直集群、主机名映射在127.xx地址上等。

详细说明可以直接参考文件中的注释。

标签: BroFramework
在2015-05-22 16:26上被李小翔创建

Copyright © 2013 北京博瑞开源软件有限公司
京ICP备12048974号