这是一个设计面试问题,我无法说服面试官。我想知道我们可以用下面的系统思考什么是设计方面。
设计系统,每10秒“远程”监控100万个系统。
以下是方法的几点
- 客户端/服务器架构。在哪里监视客户端系统和服务器将是监视所有系统的代理
- 由于持久连接的成本更高,因此没有持久连接。
- 客户端将在第一个周期向服务器发送所有信息,并仅在发生更改时发送delta。
- 为了减少单个代理的负载,可以有多个代理来监控受监控的系统。
- 负载均衡将由“领导者”代理完成。
- 客户将收到需要与之通信的代理IP的通知。
- 如果任何代理失败,“Leader”将重新分配分配给失败节点的代理。在这种情况下,客户端将收到新的代理IP通知,客户端将在第一个周期重新发送所有详细信息,后续周期发送所有详细信息。
这种方法是否良好,在这样的系统中可以考虑所有其他事情?