ZEGO 自研客户端配置管理系统 —— 云控
一、常规客户端配置的弊端
客户端配置信息通常会通过一个静态文件进行管理,或存放在本地或者通过远程获取。存在本地最大的问题是不易更新,所以通常做法是通过远程获取。
我们通过两种常见的场景来看看静态文件管理的客户端配置存在的问题:
- 一些配置参数的值是要依赖客户本地环境参数(机型、系统版本、客户端版本、网络环境、硬件设备),客户本地环境参数发生了变化,那么配置参数要有相应的值来匹配,否则有可能会导致客户端的用户体验变差甚至功能不可用。举个例子,是否开启硬件编码加速,在 macOS + 系统版本的条件下要关闭,而在 iOS 下要打开。
- 客户端新开发的功能希望能根据用户或者用户所在地区、操作系统、机型等维度进行灰度上线。
通过上面列举的两种场景可以看到,静态文件要支持根据用户的环境来匹配合适的配置信息,有一个办法就是枚举所有可能的情况,客户端根据用户本地环境匹配其中一种情况,但是带来的问题也是显而易见的:
- 客户端配置文件过大,客户拉取配置文件的时间会变长,影响客户体验;服务器的流量和带宽存在不必要的浪费;
- 配置文件内容结构复杂,不易于管理,难以维护;
- 客户端解析配置文件的逻辑复杂且不灵活。
随着客户端的功能增加和优化,配置参数也会越来越多,会进一步加剧以上问题。
二、ZEGO 自研客户端配置管理系统 —— 云控系统
考虑到静态文件的客户端配置在开发和日常运营管理中可能产生的种种问题,为了达到最好的用户体验,同时保证开发、运营管理效率,ZEGO 自研了客户端配置管理系统,内部也称之为“云控系统”。
以下是云控系统的简易版架构图:
三、解决客户端配置信息动态化需求
云控系统通过以下几方面解决了客户端配置信息动态化需求:
1、ZEGO Settings SDK(云控 SDK)统一了配置信息拉取和解析能力:
各产品只需要集成了 ZEGO Settings SDK 就拥有了统一的配置信息拉取、解析、配置变更通知能力,上层产品根据通知自行决定是否立即生效。
2、动态获取配置信息:
客户端通过 ZEGO Settings SDK 将用户环境信息发送给配置服务(云控服务),配置服务根据用户环境信息计算返回定制化的、无冗余的客户端配置信息;客户端信息也可以根据用户或者用户所在地区、操作系统、机型等维度进行灰度上线。
3、可靠的全球接入的通讯链路:
客户端通过 ZEGO 自研的智能路由 MSDN 系统,依托主流云商的全球节点,全球 200+ 机房部署无死角覆盖,保障了配置服务(云控服务)全球可靠稳定的访问通讯链路。
4、分布式
云服务的配置信息存储节点 220+,任一节点有异常,其他节点都能迅速补上,保证了配置信息存储服务的高可用。
通过以上几个方面解决了配置文件动态化的需求,保证了最好的用户体验同时,提高了开发、日常配置管理效率,同时为实时解决单个用户环境问题提供了可能性。
总结
以上是关于 ZEGO 即构科技如何支持动态化的下发客户端配置系统的内容分享。
通过云控系统解决了用户级别的客户端个性化配置,为保证最佳的客户端用户体验提供了保障。
此外,ZEGO 自研客户端配置管理系统支持多产品多模块的客户端配置信息管理,提高了各产品模块客户端配置信息的管理能力,为快速解决客户的线上问题提供了可能性。更多即构拓展服务,请了解:开发者中心 - 即构科技
ZEGO 自研客户端配置管理系统 —— 云控的更多相关文章
- easyconf——基于AugularJS的配置管理系统开发框架
目录 1 easyconf的诞生2 easyconf的设计理念 2.1 总体设计 2.2 细节设计 2.2.1 CRUD操作 2.2.2 即时校验 2.2.3 下拉框设计3 easyconf使用指南 ...
- [转载] zookeeper应用——集中配置管理系统的实现
转载自http://blog.csdn.net/huangfengxiao/article/details/8844239 1 场景描述 参考http://www.ibm.com/developerw ...
- Linux sssd 进程 ldap 客户端配置
Linux sssd 进程 ldap 客户端配置 标签(空格分隔): ldap authconfig authconfig命令解析:authconfig 面对多计算机的身份管理以及账户信息同步, 其解 ...
- Linux 的简单命令以及在idea中配置码云
Linux 的简单命令: ls(list)功能:列出目录内容 cd(change directory)功能:切换目录 touch 1.txt 在当前目录创建一个文件1.txt clear:清除屏幕 p ...
- puppet(一种Linux、Unix、windows平台的集中配置管理系统)
puppet是一种Linux.Unix.windows平台的集中配置管理系统,使用自有的puppet描述语言,可管理配置文件.用户.cron任务.软件包.系统服务等.puppet把这些系统实体称之为资 ...
- QM[中控群控云控]01. 中控原理
QM[中控群控云控]01. 中控原理 虽然自己对于中控有了解 也自己做过一些简单中控 不过看看紫猫老师的思路 应该有很多帮助和提高 中控核心:数据交流而已 脚本端和服务端之间的信息交换 ------个 ...
- 使用MQTT.fx客户端接入阿里云
一.前期准备. 1.关于MQTT连接的属性:https://www.cnblogs.com/mhtc/p/11112153.html 2.关于阿里云配置工具的使用:https://www.cnblog ...
- Eureka高可用集群服务端和客户端配置
微服务应用中,生产环境一般都需要保障服务注册中心的高可用!高可用也分好几个等级,例如:同数据中心(可用Zone区)高可用-->同地域(Region)跨数据中心(可用Zone区)高可用--> ...
- NFS服务器+客户端配置
NFS:Network File System 使用NFS需要启用RPC(remoteprocedure call),RPC可以指定每个NFS功能所对应的端口号,重启RPC后,RPC所管理的所有NFS ...
- CentOS下OpenVPN客户端配置
CentOS下OpenVPN客户端配置 http://liumissyou.blog.51cto.com/4828343/1762683 1,安装 yum install openvpn -y mkd ...
随机推荐
- 洛谷P1464
搜索优化后是记忆化搜索,再优化就是dp了 #include <iostream> #include <utility> using namespace std; typedef ...
- 3.2 逻辑设计和硬件控制语言HCL
在硬件设计中,用电子电路来计算对位进行运算的函数,以及在各种存储器单元中存储位.大多数现代电路技术都是用信号线上的高电压或低电压来表示不同的位值.在当前的技术中,逻辑1是用1.0伏特左右的高电压表示的 ...
- C练习_1005
题自:题目 1009: [编程入门]数字的处理与判断_C语言网 题目描述 给出一个不多于5位的整数,要求 1.求出它是几位数 2.分别输出每一位数字 3.按逆序输出各位数字,例如原数为321,应输出1 ...
- 网络基础 登录对接CAS-跨域导致的一个意想不到的Bug
登录对接CAS-跨域导致的一个意想不到的Bug 背景描述 业务需求是平台登录,接入Cas验证 问题描述 平台登录页,点击登录方式,跳转Cas登录页,提交登录请求,结果发现,又返回平台登录页: 再次点击 ...
- NIO的三大核心组件详解,充分说明为什么NIO在网络IO中拥有高性能!
一.写在开头 我们在上一篇博文中提到了Java IO中常见得三大模型(BIO,NIO,AIO),其中NIO是我们在日常开发中使用比较多的一种IO模型,我们今天就一起来详细的学习一下. 在传统的IO中, ...
- 【VMware VCF】VMware Cloud Foundation Part 03:准备 Excel 参数表。
VMware Cloud Foundation 使用 VMware Cloud Builder 工具完成自动化以及标准化的部署,除了要准备必须的用于部署管理域并运行管理相关组件的 ESXi 主机以外, ...
- LeetCode513. 找树左下角的值
题目链接:https://leetcode.cn/problems/find-bottom-left-tree-value/description/ 题目叙述: 给定一个二叉树的 根节点 root,请 ...
- LeetCode654. 最大二叉树
题目链接:https://leetcode.cn/problems/maximum-binary-tree/description/ 题目叙述 给定一个不重复的整数数组 nums . 最大二叉树 可以 ...
- 如何在Arch Linux上构建Raspberry Pi虚拟环境
如何在Linux上构建Raspberry Pi虚拟环境 下面我们来讲讲如何使用QEMU来仿照树莓派环境.这里首先先分成两大类.第一类是跑比较老的,安全性较低的老树莓派,主要指代的是22年4月份发布 ...
- find命令在根目录查找文件
find命令在根目录查找文件 find命令口诀是: find 路 名 含 一,首先看看路径的表示方法 . 表示当前目录 .. 表示上一级目录 cd .. 表示返回上一级目录cd ../ ...