一、常规客户端配置的弊端

客户端配置信息通常会通过一个静态文件进行管理,或存放在本地或者通过远程获取。存在本地最大的问题是不易更新,所以通常做法是通过远程获取。

我们通过两种常见的场景来看看静态文件管理的客户端配置存在的问题:

  1. 一些配置参数的值是要依赖客户本地环境参数(机型、系统版本、客户端版本、网络环境、硬件设备),客户本地环境参数发生了变化,那么配置参数要有相应的值来匹配,否则有可能会导致客户端的用户体验变差甚至功能不可用。举个例子,是否开启硬件编码加速,在 macOS + 系统版本的条件下要关闭,而在 iOS 下要打开。
  2. 客户端新开发的功能希望能根据用户或者用户所在地区、操作系统、机型等维度进行灰度上线。

通过上面列举的两种场景可以看到,静态文件要支持根据用户的环境来匹配合适的配置信息,有一个办法就是枚举所有可能的情况,客户端根据用户本地环境匹配其中一种情况,但是带来的问题也是显而易见的:

  1. 客户端配置文件过大,客户拉取配置文件的时间会变长,影响客户体验;服务器的流量和带宽存在不必要的浪费;
  2. 配置文件内容结构复杂,不易于管理,难以维护;
  3. 客户端解析配置文件的逻辑复杂且不灵活。

随着客户端的功能增加和优化,配置参数也会越来越多,会进一步加剧以上问题。

二、ZEGO 自研客户端配置管理系统 —— 云控系统

考虑到静态文件的客户端配置在开发和日常运营管理中可能产生的种种问题,为了达到最好的用户体验,同时保证开发、运营管理效率,ZEGO 自研了客户端配置管理系统,内部也称之为“云控系统”。

以下是云控系统的简易版架构图:

三、解决客户端配置信息动态化需求

云控系统通过以下几方面解决了客户端配置信息动态化需求

1、ZEGO Settings SDK(云控 SDK)统一了配置信息拉取和解析能力:

各产品只需要集成了 ZEGO Settings SDK 就拥有了统一的配置信息拉取、解析、配置变更通知能力,上层产品根据通知自行决定是否立即生效。

2、动态获取配置信息:

客户端通过 ZEGO Settings SDK 将用户环境信息发送给配置服务(云控服务),配置服务根据用户环境信息计算返回定制化的、无冗余的客户端配置信息;客户端信息也可以根据用户或者用户所在地区、操作系统、机型等维度进行灰度上线。

3、可靠的全球接入的通讯链路:

客户端通过 ZEGO 自研的智能路由 MSDN 系统,依托主流云商的全球节点,全球 200+ 机房部署无死角覆盖,保障了配置服务(云控服务)全球可靠稳定的访问通讯链路。

4、分布式

云服务的配置信息存储节点 220+,任一节点有异常,其他节点都能迅速补上,保证了配置信息存储服务的高可用。

通过以上几个方面解决了配置文件动态化的需求,保证了最好的用户体验同时,提高了开发、日常配置管理效率,同时为实时解决单个用户环境问题提供了可能性。

总结

以上是关于 ZEGO 即构科技如何支持动态化的下发客户端配置系统的内容分享。

通过云控系统解决了用户级别的客户端个性化配置,为保证最佳的客户端用户体验提供了保障。

此外,ZEGO 自研客户端配置管理系统支持多产品多模块的客户端配置信息管理,提高了各产品模块客户端配置信息的管理能力,为快速解决客户的线上问题提供了可能性。更多即构拓展服务,请了解:​​开发者中心 - 即构科技​

ZEGO 自研客户端配置管理系统 —— 云控的更多相关文章

  1. easyconf——基于AugularJS的配置管理系统开发框架

    目录 1 easyconf的诞生2 easyconf的设计理念 2.1 总体设计 2.2 细节设计 2.2.1 CRUD操作 2.2.2 即时校验 2.2.3 下拉框设计3 easyconf使用指南 ...

  2. [转载] zookeeper应用——集中配置管理系统的实现

    转载自http://blog.csdn.net/huangfengxiao/article/details/8844239 1 场景描述 参考http://www.ibm.com/developerw ...

  3. Linux sssd 进程 ldap 客户端配置

    Linux sssd 进程 ldap 客户端配置 标签(空格分隔): ldap authconfig authconfig命令解析:authconfig 面对多计算机的身份管理以及账户信息同步, 其解 ...

  4. Linux 的简单命令以及在idea中配置码云

    Linux 的简单命令: ls(list)功能:列出目录内容 cd(change directory)功能:切换目录 touch 1.txt 在当前目录创建一个文件1.txt clear:清除屏幕 p ...

  5. puppet(一种Linux、Unix、windows平台的集中配置管理系统)

    puppet是一种Linux.Unix.windows平台的集中配置管理系统,使用自有的puppet描述语言,可管理配置文件.用户.cron任务.软件包.系统服务等.puppet把这些系统实体称之为资 ...

  6. QM[中控群控云控]01. 中控原理

    QM[中控群控云控]01. 中控原理 虽然自己对于中控有了解 也自己做过一些简单中控 不过看看紫猫老师的思路 应该有很多帮助和提高 中控核心:数据交流而已 脚本端和服务端之间的信息交换 ------个 ...

  7. 使用MQTT.fx客户端接入阿里云

    一.前期准备. 1.关于MQTT连接的属性:https://www.cnblogs.com/mhtc/p/11112153.html 2.关于阿里云配置工具的使用:https://www.cnblog ...

  8. Eureka高可用集群服务端和客户端配置

    微服务应用中,生产环境一般都需要保障服务注册中心的高可用!高可用也分好几个等级,例如:同数据中心(可用Zone区)高可用-->同地域(Region)跨数据中心(可用Zone区)高可用--> ...

  9. NFS服务器+客户端配置

    NFS:Network File System 使用NFS需要启用RPC(remoteprocedure call),RPC可以指定每个NFS功能所对应的端口号,重启RPC后,RPC所管理的所有NFS ...

  10. CentOS下OpenVPN客户端配置

    CentOS下OpenVPN客户端配置 http://liumissyou.blog.51cto.com/4828343/1762683 1,安装 yum install openvpn -y mkd ...

随机推荐

  1. P1387

    #include<iostream> #include<utility> using namespace std; typedef long long ll; #define ...

  2. [oeasy]教您玩转python - 0002 - 你好世界(hello world!)

    ​ 你好世界 回忆上次内容 这次我们, 了解了 Python 进入了 Python 退出了 Python 这并不难 这就是我们对于 Python 的初体验 恭喜您存活了下来! ​ 编辑 python ...

  3. Scratch全套Q版三国人物角色素材包免费下载

    全新Q版三国人物角色素材包,内含142张细腻可爱的Q版风格图片,涵盖三国名将.士兵.场景等丰富元素,为scratch爱好者提供多样选择,适合各类三国主题创作. 免费下载:www.xiaohujing. ...

  4. 新年切红包-scratch小游戏

    程序说明: <新年切红包>是一款Scratch制作的小游戏,灵感来源于流行的切水果游戏.在这个游戏中,玩家需要用鼠标切割屏幕上不断飞出的红包,切割到红包将获得金币奖励,而切割到爆竹则会导致 ...

  5. CCStheia添加include路径

    一.在系统内找到该路径 二.复制该路径,并更改写法 C:\Users\c1519\workspace_ccstheia\OLED\user_lib 改为: C:/Users/c1519/workspa ...

  6. top的wa,mpstat的%iowait以及pidstat的%wait

    top的wa,mpstat的%iowait以及pidstat的%wait pidstat 中, %wait 表示进程等待 CPU 的时间百分比.等待 CPU 的进程已经在 CPU 的就绪队列中,处于运 ...

  7. tcp udp测试

    tcp udp测试 sub_udp.py #!/usr/bin/env python # -*- coding: utf-8 -*- # 可以正常接收udp import socket import ...

  8. 【Shiro】03 ini认证实现

    [基本概念] 1.身份验证 即在应用中谁能证明他就是他本人. 一般提供如他们的身份ID 一些标识信息来表明他就是他本人,如提供身份证,用户名/密码来证明. 在 shiro 中,用户需要提供princi ...

  9. NVIDIA机器人仿真环境 —— NVIDIA Isaac Sim 的headless模式/无头模式 —— 非桌面模式、非可视化模式

    相关: https://developer.nvidia.com/isaac-sim 可视化模式,也就是在桌面系统上直接安装软件,具体地址: https://developer.nvidia.com/ ...

  10. 如何配置docker pull代理

    参考: https://blog.csdn.net/vic_qxz/article/details/130061661 经过验证确实有效.