由于浏览器对同一个域名服务的并发请求数量有限制,通过部署多个子域名,加大向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 });