<managerRoot uri>/clusterusage[.<format>]
clusterConfig 为使用集群资源,通过 clusterConfig 资源您既可以查看集群配置使用信息,也可以修改集群的配置使用状态。如果为使用集群状态,则您还可以修改是使用本机集群服务,还是使用其他集群服务。
使用本地集群服务,即集群的父节点作为 GIS 应用服务器对外提供服务,客户端可以直接访问集群父节点。
使用其他集群服务,即 GIS 应用服务器本身不属于集群服务的一部分,它的作用是接收客户端请求,并转发给集群服务器父节点处理,本身只起到转发请求的作用。
支持的方法:
支持的表述格式:RJSON、JSON、HTML、XML。
对如下 URI 执行 HTTP 请求,以 rjson 输出格式为例加以说明,其中,supermapiserver 是服务器名。
http://supermapiserver:8090/iserver/manager/clusterusage.rjson
获取当前集群的配置使用信息。
对 clusterConfig 资源执行 GET 请求,返回的是当前集群的配置使用信息,表述结构如下:
字段 | 类型 | 说明 |
DEFAULT_CONNECT_TIMEOUT | int | 默认链接超时时间,20000 毫秒。 |
DEFAULT_READ_TIMEOUT | int | 默认读取超时时间,120000 毫秒。 |
address | String | 集群服务地址。 |
connectTimeout | int | 使用集群服务时子节点的连接超时时间。单位为毫秒,默认为 20000 毫秒。 |
dataSyncInterval | Integer | 数据文件更新时间间隔。单位为分钟,默认为30分钟。 |
enabled | boolean | 是否使用集群,默认为 true。 |
excludeFormats | String | 不向受控子节点部署/同步的数据格式,以逗号分隔,例如: "md5,txt,rmvb"。 |
includeFormats | String | 要向受控子节点部署/同步的数据格式,以逗号分隔,例如: "smwu,udd,png"。 |
localAddress | String | 使用集群的 iServer 自身地址,需要可以被集群服务访问。 |
readTimeout | int | 使用集群时读取子节点返回的请求内容的超出时间。单位为毫秒,默认为 120000 毫秒。 |
reporters | List<ReporterSetting> | 报告器信息列表,即应用程序向集群服务报告的配置信息列表。 |
status | Status | 集群状态,只有当 enabled 的值为 true 时,该值才有意义。 |
token | String | 使用集群时的认证信息。 |
useLocalCluster | Boolean | 是否使用本机集群服务,只有当 enabled 的值为 true 时,该值才有意义。 |
对 clusterConfig 资源执行 GET 请求( http://localhost:8090/iserver/manager/clusterusage.rjson ),返回的 rjson 格式表述如下:
{
"DEFAULT_CONNECT_TIMEOUT": 20000,
"DEFAULT_READ_TIMEOUT": 120000,
"address": "http://localhost:8090/iserver/services/cluster",
"connectTimeout": 2000,
"dataSyncInterval": null,
"enabled": true,
"excludeFormats": null,
"includeFormats": null,
"localAddress": null,
"readTimeout": 120000,
"reporters": [{
"address": "http://anotherclusterservice:8090/iserver/services/cluster",
"enabled": false,
"isTileWorker": false,
"iserverId": "d7c64eb1ea1a4f11983082488ab9fba9",
"localAddress": null,
"token": ""
}],
"status": "OK",
"token": null,
"useLocalCluster": true
}
修改集群的配置使用状态。如果为使用集群状态,则您还可以修改是使用本机集群服务,还是使用其他集群服务。
发送请求时,需要在请求体中包含如下参数:
名称 | 类型 | 含义 |
address | String | 【必选参数】
集群服务地址。 |
connectTimeout | int | 使用集群服务时子节点的连接超时时间。单位为毫秒,默认为 20000 毫秒。 |
dataSyncInterval | Integer | 数据文件更新时间间隔。单位为分钟,默认为30分钟。该字段在此请求中无意义。 |
enabled | boolean | 是否使用集群,默认为 true。 |
excludeFormats | String | 不向受控子节点部署/同步的数据格式,以逗号分隔,例如: "md5,txt,rmvb"。该字段在此请求中无意义。 |
includeFormats | String | 要向受控子节点部署/同步的数据格式,以逗号分隔,例如: "smwu,udd,png"。该字段在此请求中无意义。 |
localAddress | String | 使用集群的 iServer 自身地址,需要可以被集群服务访问。 |
readTimeout | int | 使用集群时读取子节点返回的请求内容的超出时间。单位为毫秒,默认为 120000 毫秒。 |
reporters | List<ReporterSetting> | 报告器信息列表,即应用程序向集群服务报告的配置信息列表。该字段在此请求中无意义。 |
status | Status | 集群状态,只有当 enabled 的值为 true 时该值才有意义。 |
token | String | 使用集群时的认证信息。 |
useLocalCluster | Boolean | 是否使用本机集群服务,只有当 enabled 的值为 true 时,该值才有意义。 |
执行 PUT 请求后,返回的资源表述结构如下:
字段 | 类型 | 说明 |
succeed |
boolean | 是否成功修改集群使用状态。 |
对 clusterConfig 资源执行 PUT 请求( http://localhost:8090/iserver/manager/clusterusage.rjson ), 可以修改集群的配置使用状态,修改为使用其他集群服务时,发送的请求体如下:
{
"readTimeout": 120000,
"enabled": true,
"status": "OK",
"excludeFormats": null,
"localAddress": null,
"connectTimeout": 2000,
"includeFormats": null,
"address": "http://localhost:8090/iserver/services/cluster",
"token": "",
"useLocalCluster": false,
"reporters": [
{
"enabled": false,
"iserverId": "d7c64eb1ea1a4f11983082488ab9fba9",
"isTileWorker": false,
"token": "",
"address": "http://anotherclusterservice:8090/iserver/services/cluster",
"localAddress": null
}
],
"dataSyncInterval": null
}
则返回的 rjson 格式响应结果如下:
{
"succeed": true
}
返回跟 GET 请求一样的 HTTP 响应头,但是没有响应实体。可以在不必传输整个响应内容的情况下,获取包含在响应消息头中的元数据信息。元数据信息包括媒体类型,字符编码,压缩编码,实体内容长度等。
HEAD 请求可以用来判断 clusterConfig 资源是否存在,或者客户端是否有权限访问 clusterConfige 资源。通过对加.<format>的 URI 执行 HEAD 请求,还可以快速判断 clusterConfig 资源是否支持<format>格式的表述。