在生产环境,我们常常要存储一些像服务参数、功能开关之类的键值。传统的做法是...

发布于 2022-03-03 16:37:22

在生产环境,我们常常要存储一些像服务参数、功能开关之类的键值。传统的做法是把配置都写到文件里,然后同步到线上每台机器上。随着机器变多,配置文件变得难以管理,并且容易出现不一致的情况。我们希望设计一个配置服务来解决这个问题。

统一配置服务可能会存在以下问题:由于是非常核心的服务,如果存在单节点问题对服务可用性影响非常大;线上可能读取非常频繁,尽可能提供高性能的服务同时,也要考虑横向扩容能力;需要保证配置在期望的时间内下发与更新;

请设计一个存储服务,包含但不限于以下角色:服务端(可能由多个节点组成),客户端(读取、写入一个配置),其他(如旁路的监控等);

系统假设:

1、存储量都在1GB以内,单机内存可以存储下;

2、每秒写入在 1000 以内

3、每秒读取在 1000000 以上

4、使用尽量少的节点

5、无论什么时候,服务总是可以读写

6、允许故障期间读到老的配置数据

7、故障恢复后,数据保持同步

关注者
0
被浏览
29
知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看