Pull和Push两种模式的区别非常有意思,Prometheus非常大胆的采用了pull的模式,但是仔细思考后就会觉得非常适合监控的场景。
Pull模式的特点
1. 被监控方提供一个server,并负责维护
2. 监控方控制采集频率
第一点其实对用户来说要求过高了,但是好处很多,比如pull 不到数据本身就说明了节点存在故障;又比如监控指标自然而言由用户自己维护,使得标准化很简单。
第二点其实更为重要,那就是监控系统对metric采集的统一和稳定有了可靠的保证,对于数据量大的情况下很重要。
缺点也很明显,用户不知道你什么时候来pull一下,数据维护多久更新也不好控制,容易造成一些信息的丢失和不准确。
当把这些优缺点权衡过后就会发现,纯监控的场景确实是适合pull的
展开