Skip to content
gqlxj1987's Blog
Go back

设置配置中心

Edit page

原文链接

配置中心最基础的场景:

客户端和服务端保持一个长链,当在后台操作配置时,会把这个配置以 K/V 形式存储,然后通知 Procesor,后者拿到 K/V 之后把它推给客户端,整个过程就完成了

保存K/V时,额外存一个flag字段,表示是否已经成功发送给客户端

多份配置的处理

一个设备的 K/V 对通常不会超过 100 项,每对 Size 不超过 1K,也就是一台设备对应的大小上限为 100K 左右,假如设备数为 100 万,就需要 100G 的磁盘空间

采用索引加上组合的方式,

参考一下 Go 语言里 Slice 的设计,Slice 内部使用了一个数组,但可以指定使用该数组的哪一部分,其实就是索引。

这样某个 Key 如果有新的 Value 了,只需在对应的 Key 后面 append 即可。此时需要同步更新设备的索引,这块可能花一点时间,如果数据都在内存的话其实也还好(由于只是存索引,因此这些数据量内存 hold 得住),持久化可以异步进行。

更新策略

上面可以看出,该配置针对每个duid都会有一些配置,而不是我们传统意义上的针对app_key部分,这样,可以确保每个用户都能收到


Edit page
Share this post on:

Previous Post
无状态化与容器化
Next Post
2018碎碎念