跳到主要内容

数据中心

融云提供国内和国外数据中心,可分别支持主营业务位于国内或国外的业务。

在控制台新建应用时,即需要为应用指定数据中心。

  • 不同数据中心使用的客户端 SDK 一致,使用海外数据中心的 App 在集成时必须修改客户端 SDK 的配置。
  • 不同数据中心必须使用与地域对应的服务端 API 地址。
  • 不同数据中心之间不支持迁移数据,请谨慎选择数据中心。

选择数据中心

您可以选择以下的数据中心:

  • 国内数据中心
  • 新加坡数据中心

下列数据中心默认不支持自助选择。如您希望选择以下的数据中心中的任何一个,您可以创建工单或者联系融云商务人员。收到您的请求并完成必要的审核流程后,我们将为您开通相应的数据中心选项。开通后,您可以在控制台选择以下的数据中心。

  • 北美数据中心
  • 新加坡 B 企业合作数据中心
  • 沙特数据中心
提示
  • 当您选择了国内数据中心,App 服务端集成融云服务端 API 时,必须使用国内的 API 地址。客户端集成默认连接国内数据中心。
  • 当您选择了海外的数据中心,如新加坡、新加坡 B、北美、或沙特,App 服务端集成融云服务端 API 时,必须使用相对应的 API 海外地址。集成客户端时,您须传入相对应的区域码,或者手动设置 SDK 连接的服务器的地址

国内数据中心

如果您的业务主要在国内,且符合以下描述,建议选择国内数据中心。

  • 用户及消息数据均需要存储在国内
  • 应用在国内上线、运营
  • 应用用户基本在国内,无高频跨国通信需求

使用国内数据中心,请注意以下事项

  • 在控制台创建应用时,已指定数据中心国内

  • 集成客户端 SDK 时,可无需关心 SDK 内部数据中心地址配置。融云客户端 SDK 默认连接国内数据中心。

  • 应用服务器集成融云 Server API 时,必须使用国内数据中心专用的 API 地址,如下:

    • api.rong-api.com
    • api-b.rong-api.com

海外数据中心

如果您的业务主要在国外,应用直接在海外上线服务于当地用户,建议选择海外数据中心(新加坡、新加坡 B、北美、沙特)。了解融云海外数据中心的接入节点,请参见海外接入节点

提示

如您的 App 用户遍布全球,跨国用户互通频繁,对延迟时间、数据安全敏感的业务。可接入融云全球通信网络服务,可使用户在海外访问国内延迟从 2000ms 缩短至多 190ms,查看详情

使用海外数据中心(新加坡、新加坡 B、北美、沙特),请注意以下事项

  • 在控制台创建应用时,已指定数据中心新加坡新加坡 B北美、或沙特

  • 集成客户端 SDK 时,配置 SDK 连接相对应的海外数据中心地址。

    • 如果您使用的 Android/iOS SDK 版本 ≧ 5.4.2,无需使用本文档介绍的配置方法。请直接在 SDK 的初始化配置中传入数据中心的区域码。配置成功后,SDK 会启用与区域码对应的内部服务地址。详见客户端 SDK 的初始化文档。
    • 如果您使用的 Android/iOS SDK 版本 < 5.4.2,或使用其他平台的 SDK,参见下文 配置 SDK 连接海外数据中心
  • 应用服务器集成融云 Server API 时,必须使用海外数据中心(新加坡、北美)专用的 API 地址。

    参见下文使用服务端 API 海外地址

配置 SDK 连接海外数据中心

如果您在融云平台创建的应用使用海外数据中心(非国内(北京)数据中心),则您必须在集成 SDK 时修改 SDK 使用的数据中心。

提示

App Key 所属的数据中心必须与客户端 SDK 中的数据中心保持一致。

通过区域码方式配置

在旧版 SDK 中,如果使用海外数据中心,必须在客户端 SDK 手动配置对应数据中的导航地址、统计服务地址等,容易因为遗漏其中某项配置导致问题。

为了简化海外数据中心配置流程,我们在新版 SDK 中直接封装了不同数据中心的配置为区域码。只要您的 App Key 使用海外数据中心,只需要在初始化时传入有效的区域码(AreaCode / RCAreaCode )即可完成配置。除特殊场景外,不再需要手动更改一系列域名地址。

如果您集成的 SDK 为符合下方的要求,可以直接配置海外数据中心的区域码:

  • Android 端 IMLib/IMKit:SDK ≧ 5.4.2

    请先在控制台查询当前 App Key 所属数据中心,并根据 API 文档 AreaCode 找到对应枚举值。示例代码中配置了区域码为 AreaCode.SG (新加坡数据中心)。

    String appKey = "Singapore_dev_AppKey";
    AreaCode areaCode = AreaCode.SG;

    InitOption initOption = new InitOption.Builder()
    .setAreaCode(areaCode)
    .build();

    RongCoreClient.init(context, appKey, initOption);
  • iOS 端 IMLib/IMKit:SDK ≧ 5.4.2

    请先在控制台查询当前 App Key 所属数据中心,并根据 API 文档 RCAreaCode 找到对应枚举值。示例代码中配置了区域码 RCAreaCodeSG (新加坡数据中心)。

    NSString *appKey = @"Your_AppKey"; // example: bos9p5rlcm2ba
    RCInitOption *initOption = [[RCInitOption alloc] init];
    initOption.areaCode = RCAreaCodeSG;

    [[RCCoreClient sharedCoreClient] initWithAppKey:appKey option:initOption];
  • Web 端 IMLib:SDK ≧ 5.7.9

    请先在控制台查询当前 App Key 所属数据中心,并根据 API 文档 AreaCode 找到对应枚举值。示例代码中配置了区域码为 AreaCode.SG (新加坡数据中心)。

    // 应用初始化,请务必保证此过程只被执行一次
    RongIMLib.init({ appkey: '<Your-App-Key>', areaCode: AreaCode.SG});

手动配置海外数据中心域名

如果您集成了 SDK 的版本与平台组合符合以下描述,暂不支持通过区域码配置为海外数据中心。请按照下方文档手动配置导航服务器地址和统计服务器地址

  • Android 端 IMLib/IMKit:SDK < 5.4.2
  • iOS 端 IMLib/IMKit:SDK < 5.4.2
  • Web 端 IMLib:SDK < 5.7.9
  • Flutter 端 IMLib/IMKit:SDK < 5.2.4
  • uni-app 端 IMLib/IMKit:SDK < 5.2.4
  • Unity 端 IMLib:SDK < 5.2.4
  • React Native 端 IMLib:SDK < 5.2.4
Android
提示

如果 SDK 版本 < 5.4.2,请使用以下配置。如果 SDK ≧ 5.4.2,请转至通过区域码方式配置

在 SDK 初始化 init 之前,请先设置海外数据中心的导航服务器地址和统计服务器地址:

  1. 使用 setServerInfo 方法设置导航服务器地址:

    /**
    * 设置 海外 数据中心的导航服务器和媒体服务器地址。
    * 此方法要在 {@link #init(Context, String)} 前使用
    *
    * @param naviServer 海外数据中心的导航服务器地址。
    * @param fileServer 文件服务器地址(仅限私有云使用)。
    */
    public static void setServerInfo(final String naviServer, final String fileServer) {
    if (TextUtils.isEmpty(naviServer)) {
    RLog.e(TAG, "setServerInfo naviServer should not be null.");
    throw new IllegalArgumentException("naviServer should not be null.");
    }
    RongIMClient.setServerInfo(naviServer, fileServer);
    }
    • 导航服务器地址(naviServer
      • 新加坡:nav.sg-light-edge.com(主)、nav-b.sg-light-edge.com(备)
      • 新加坡 B:nav.sg-b-light-edge.com(主)、nav-b.sg-b-light-edge.com(备)
      • 北美:nav.us-light-edge.com(主)、nav-b.us-light-edge.com(备)
      • 沙特:nav.sau-light-edge.com(主)、nav-b.sau-light-edge.com (备)
    • 文件服务器地址(fileServer):该项仅适用于私有云客户进行配置。公有云客户传 null 即可,表示使用默认的文件服务器地址。
  2. 使用 setStatisticDomain 方法设置统计服务地址:

    • 新加坡:stats.sg-light-edge.com
    • 新加坡 B:stats.sg-b-light-edge.com
    • 北美:stats.us-light-edge.com
    • 沙特:stats.sau-light-edge.com
iOS
提示

如果 SDK 版本 < 5.4.2,请使用以下配置。如果 SDK ≧ 5.4.2,请转至通过区域码方式配置

在 SDK 初始化 init 之前,请先设置海外数据中心的导航服务器地址和统计服务器地址:

  1. 使用 setServerInfo 方法设置设置导航服务器地址:

    /*!
    设置 海外 数据中心导航服务器和上传文件服务器信息
    @param naviServer 海外 数据中心导航服务器地址,具体的格式参考下面的说明
    @param fileServer 文件服务器地址(仅限私有云使用),具体的格式参考下面的说明
    @return 是否设置成功
    @warning 仅限 海外 数据中心使用,使用前必须先联系商务开通。必须在SDK init之前进行设置。
    @discussion
    naviServer必须为有效的服务器地址,fileServer如果想使用默认的,可以传nil。
    naviServer和fileServer的格式说明:
    1、如果使用https,则设置为https://cn.xxx.com:port或https://cn.xxx.com格式,其中域名部分也可以是IP,如果不指定端口,将默认使用443端口。
    2、如果使用http,则设置为cn.xxx.com:port或cn.xxx.com格式,其中域名部分也可以是IP,如果不指定端口,将默认使用80端口。
    */
    -(BOOL)setServerInfo:(NSString *)naviServer fileServer:(NSString *)fileServer;
    • 导航服务器地址(naviServer
      • 新加坡:nav.sg-light-edge.com(主)、nav-b.sg-light-edge.com(备)
      • 新加坡 B:nav.sg-b-light-edge.com(主)、nav-b.sg-b-light-edge.com(备)
      • 北美:nav.us-light-edge.com(主)、nav-b.us-light-edge.com(备)
      • 沙特:nav.sau-light-edge.com(主)、nav-b.sau-light-edge.com (备)
    • 文件服务器地址(fileServer):该项仅适用于私有云客户进行配置。公有云客户传 nil 即可,表示使用默认的文件服务器地址。
  2. 使用 setStatisticServer 方法设置统计服务地址:

    /**
    设置统计服务器的信息

    @param statisticServer 统计服务器地址,具体的格式参考下面的说明
    @return 是否设置成功

    @warning 仅限独立数据中心使用,使用前必须先联系商务开通。必须在 SDK init 和 setDeviceToken 之前进行设置。
    @discussion
    statisticServer 必须为有效的服务器地址,否则会造成推送等业务不能正常使用。
    格式说明:
    1、如果使用 https,则设置为 https://cn.xxx.com:port 或 https://cn.xxx.com 格式,其中域名部分也可以是
    IP,如果不指定端口,将默认使用 443 端口。
    2、如果使用 http,则设置为 cn.xxx.com:port 或 cn.xxx.com 格式,其中域名部分也可以是 IP,如果不指定端口,将默认使用 80
    端口。(iOS 默认只能使⽤ HTTPS 协议。如果您使⽤ http 协议,请参考 iOS 开发
    ⽂档中的 ATS 设置说明。)

    @remarks 功能设置
    */
    - (BOOL)setStatisticServer:(NSString *)statisticServer;
    • 新加坡:stats.sg-light-edge.com
    • 新加坡 B:stats.sg-b-light-edge.com
    • 北美:stats.us-light-edge.com
    • 沙特:stats.sau-light-edge.com
Web
提示

如果 SDK 版本 < 5.7.9,请使用以下配置。如果 SDK ≧ 5.7.9,请转至通过区域码方式配置

在 SDK 的 init 方法中设置海外数据中心的导航服务器地址:

// IMLib v2
RongIMClient.init('<Your-AppKey>', null, { navi: 'https://nav.sg-light-edge.com' } );
// or IMLib v4
RongIMLib.init({ appkey: '<Your-AppKey>', navigators: ['https://nav.sg-light-edge.com'] });
// or IMLib v5
RongIMLib.init({ appkey: '<Your-AppKey>', navigators: ['https://nav.sg-light-edge.com'] });
  • 新加坡:nav.sg-light-edge.com(主)、nav-b.sg-light-edge.com(备)
  • 新加坡 B:nav.sg-b-light-edge.com(主)、nav-b.sg-b-light-edge.com(备)
  • 北美:nav.us-light-edge.com(主)、nav-b.us-light-edge.com(备)
  • 沙特:nav.sau-light-edge.com(主)、nav-b.sau-light-edge.com (备)
小程序

暂不支持。

Flutter
提示

仅适用于 5.2.4 及之后版本。暂不支持通过区域码方式配置数据中心。

在 SDK 引擎配置中,写入海外数据中心的导航服务器地址和统计服务器地址:

RCIMIWEngineOptions options = RCIMIWEngineOptions.create();
options.naviServer = '配置的导航地址';
options.statisticServer = '配置的统计服务器';
RCIMIWEngine engine = await RCIMIWEngine.create(appKey, options);
  • 导航服务器地址(naviServer
    • 新加坡:nav.sg-light-edge.com(主)、nav-b.sg-light-edge.com(备)
    • 新加坡 B:nav.sg-b-light-edge.com(主)、nav-b.sg-b-light-edge.com(备)
    • 北美:nav.us-light-edge.com(主)、nav-b.us-light-edge.com(备)
    • 沙特:nav.sau-light-edge.com(主)、nav-b.sau-light-edge.com (备)
  • 统计服务器地址(statisticServer
    • 新加坡:stats.sg-light-edge.com
    • 新加坡 B:stats.sg-b-light-edge.com
    • 北美:stats.us-light-edge.com
    • 沙特:stats.sau-light-edge.com
uni-app
提示

仅适用于 5.2.4 及之后版本。暂不支持通过区域码方式配置数据中心。

在 SDK 引擎配置中,写入海外数据中心的导航服务器地址和统计服务器地址:

let options = { naviServer: '配置的导航地址' }
let options = { statisticServer: '配置的统计服务器' }
let engine = await RCIMIWEngine.create(appKey, options);
  • 导航服务器地址(naviServer
    • 新加坡:nav.sg-light-edge.com(主)、nav-b.sg-light-edge.com(备)
    • 新加坡 B:nav.sg-b-light-edge.com(主)、nav-b.sg-b-light-edge.com(备)
    • 北美:nav.us-light-edge.com(主)、nav-b.us-light-edge.com(备)
    • 沙特:nav.sau-light-edge.com(主)、nav-b.sau-light-edge.com (备)
  • 统计服务器地址(statisticServer
    • 新加坡:stats.sg-light-edge.com
    • 新加坡 B:stats.sg-b-light-edge.com
    • 北美:stats.us-light-edge.com
    • 沙特:stats.sau-light-edge.com
React Native

重要

仅适用于 5.2.4 及之后版本。暂不支持通过区域码方式配置数据中心。

在 SDK 引擎配置中,写入海外数据中心的导航服务器地址和统计服务器地址:

let options: RCIMIWEngineOptions = {};
let options: RCIMIWEngineOptions = {naviServer: '配置的导航地址'};
let options: RCIMIWEngineOptions = {statisticServer: '配置的统计服务器'};
let engine: RCIMIWEngine = RCIMIWEngine.create(appkey, options);
  • 导航服务器地址(naviServer
    • 新加坡:nav.sg-light-edge.com(主)、nav-b.sg-light-edge.com(备)
    • 新加坡 B:nav.sg-b-light-edge.com(主)、nav-b.sg-b-light-edge.com(备)
    • 北美:nav.us-light-edge.com(主)、nav-b.us-light-edge.com(备)
    • 沙特:nav.sau-light-edge.com(主)、nav-b.sau-light-edge.com (备)
  • 统计服务器地址(statisticServer
    • 新加坡:stats.sg-light-edge.com
    • 新加坡 B:stats.sg-b-light-edge.com
    • 北美:stats.us-light-edge.com
    • 沙特:stats.sau-light-edge.com
Unity
提示

仅适用于 5.2.4 及之后版本。暂不支持通过区域码方式配置数据中心。

在 SDK 引擎配置中,写入海外数据中心的导航服务器地址和统计服务器地址:

RCIMEngineOptions options = new RCIMEngineOptions();
options.naviServer = "配置的导航地址";
options.statisticServer = "配置的统计服务器";
RCIMEngine engine = RCIMEngine.create(appkey, options);
  • 导航服务器地址(naviServer
    • 新加坡:nav.sg-light-edge.com(主)、nav-b.sg-light-edge.com(备)
    • 新加坡 B:nav.sg-b-light-edge.com(主)、nav-b.sg-b-light-edge.com(备)
    • 北美:nav.us-light-edge.com(主)、nav-b.us-light-edge.com(备)
    • 沙特:nav.sau-light-edge.com(主)、nav-b.sau-light-edge.com (备)
  • 统计服务器地址(statisticServer
    • 新加坡:stats.sg-light-edge.com
    • 新加坡 B:stats.sg-b-light-edge.com
    • 北美:stats.us-light-edge.com
    • 沙特:stats.sau-light-edge.com

使用服务端 API 海外地址

提示

App Key 所属的数据中心必须与 Server API 使用的数据中心保持一致。

应用如果使用海外数据中心,在应用服务器调用融云服务端 API 时,应连接融云海外数据中心 API 地址:

融云海外数据中心域名

  • 新加坡:api.sg-light-api.com(主)、api-b.sg-light-api.com(备)
  • 新加坡 B:api.sg-b-light-api.com(主)、api-b.sg-b-light-api.com(备)
  • 北美:api.us-light-api.com(主)、api-b.us-light-api.com(备)
  • 沙特:api.sau-light-api.com(主)、api-b.sau-light-api.com (备)

代码示例:

POST /user/getToken.json HTTP/1.1
Host: api.sg-light-api.com(主)、
api-b.sg-light-api.com(备)
App-Key: uwd1c0sxdlx2
Nonce: 14314
Timestamp: 1408710653491
Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
Content-Type: application/x-www-form-urlencoded

userId=jlk456j5&name=Ironman&portraitUri=http%3A%2F%2Fabc.com%2Fmyportrait.jpg

海外专属功能

针对使用海外数据中心的应用,融云客户端 SDK 提供了以下功能,以更好地服务海外用户:

  • Android 端支持 FCM 推送
  • iOS 端支持使用 iOS CallKit 实现 VoIP 推送,满足音视频场景呼叫来电提示功能。

海外接入节点

适用于 IM 业务和 RTC 信令业务。

海外接入节点位于全球 100 多个位置。正在投入使用的入网点组合可能会发生更改,恕不另行通知。由于可能会发生设备维护、设备故障、推出新的入网点、移除旧的入网点以及其他事件,因此以下列表可能无法准确反映目前正在使用的入网点。

以下许多城市中均有多个入网点来支持服务需求。

  1. 北美洲

    弗吉尼亚州阿什本、佐治亚州亚特兰大、南卡罗来纳州查尔斯顿、伊利诺伊州芝加哥、爱荷华州康瑟布拉夫斯、德克萨斯州达拉斯/沃思堡、科罗拉多州丹佛、内华达州拉斯维加斯、北卡罗来纳州勒努瓦、加利福尼亚州洛杉矶、佛罗里达州迈阿密、加拿大魁北克省蒙特利尔、纽约州纽约市、墨西哥克雷塔罗、犹他州盐湖城、加利福尼亚州旧金山、华盛顿州西雅图、俄勒冈州达尔斯、加拿大安大略省多伦多、俄克拉荷马州塔尔萨

  2. 南美洲

    哥伦比亚波哥大、阿根廷布宜诺斯艾利斯、巴西里约热内卢、智利圣地亚哥、巴西圣保罗

  3. 欧洲

    荷兰阿姆斯特丹、匈牙利布达佩斯、爱尔兰都柏林、德国法兰克福、荷兰格罗宁根、德国汉堡、芬兰哈米纳、芬兰赫尔辛基、英国伦敦、西班牙马德里、法国马塞、意大利米兰、德国慕尼黑、法国巴黎、捷克布拉格、保加利亚索非亚、比利时圣吉斯兰、瑞典斯德哥尔摩、波兰华沙、瑞士苏黎世

  4. 中东

    阿拉伯联合酋长国富查伊拉、阿曼马斯喀特

  5. 亚太地区

    中国台湾彰化县、印度金奈、中国香港特别行政区、印度尼西亚雅加达、马来西亚吉隆坡、印度孟买、德里(印度)、日本大阪、韩国首尔、新加坡、中国台湾台北、日本东京

  6. 大洋洲

    澳大利亚悉尼、澳大利亚墨尔本

  7. 非洲

    南非约翰内斯堡、尼日利亚拉戈斯、肯尼亚蒙巴萨