由于浏览器对同一个域名服务的并发请求数量有限制,通过部署多个子域名,加大向iServer发送数据请求的并发量,从而达到提升加载速度的目的。以下以nginx为例搭建环境:
修改nginx.conf文件,如下图所示,修改完成重启nginx,则 http://localhost:8081/iserver、http://localhost:8082/iserver、http://localhost:8083/iserver 都会指向http://localhost:8090/iserver
var promise = viewer.scene.open('http://{s}/iserver/services/3D-CBD/rest/realspace', undefined, {
subdomains: ['localhost:8081', 'localhost:8082', 'localhost:8083']//设置子域
});
var config = {
subdomainConfig: {
urlScheme: " http://{s}/iserver/services/3D-CBD/rest/realspace",
subdomains: ['localhost:8081', 'localhost:8082', 'localhost:8083']//设置子域
},
name: "building"
};
var promise = viewer.scene.addS3MTilesLayerByScp('http://localhost:8090/iserver/services/3D-CBD/rest/realspace/datas/building/config', config);
Cesium.when(promise, function (layer) {
viewer.flyTo(promise);
})
var viewer = new Cesium.Viewer('cesiumContainer', {
terrainProvider: new Cesium.CesiumTerrainProvider({
url: ' http://{s}/iserver/services/3D-terrain/rest/realspace/datas/dem',
subdomains: ['localhost:8081', 'localhost:8082', 'localhost:8083']//设置子域
})
});
var imageLayer = viewer.imageryLayers.addImageryProvider(new Cesium.SuperMapImageryProvider({
url: ' http://{s}/iserver/services/3D-image/rest/realspace/datas/image',
subdomains: ['localhost:8081', 'localhost:8082', 'localhost:8083']//设置子域
}));
viewer.flyTo(imageLayer);
mvtMap = scene.addVectorTilesMap({
url: 'http://{s}/services/map-mvt-JingJinDiQuDiTu/restjsr/v1/vectortile/maps/JingJin',
subdomains: ['localhost:8081', 'localhost:8082', 'localhost:8083']//设置子域
canvasWidth: 512,
name: 'testMVT',
viewer: viewer
});