心跳与轮询的区别
心跳與輪詢的區別
- 輪詢
- 心跳
??主機在檢查與從機之間的連接(判斷與從機之間的連接是否斷開)時,一般有心跳與輪詢這兩種方式。這兩個方式都需要主機定時逐個查詢從機的狀態,但它們查詢的策略有所不同。
輪詢
??在輪詢方式中,主機逐個查詢的方式是主動向從機發送一條查詢信息,然后根據從機的應答情況來判斷從機的狀態。比方說,主機要求從機返回一個狀態碼來代表當前從機所處的狀態,但如果從機沒有應答,就認為與從機之間的連接已經斷開。
心跳
??在心跳方式中,主機逐個查詢的方式是直接從一種狀態信息表中查詢,此狀態信息表上記錄了所有從機的狀態信息,而此狀態信息表是由各個從機自己主動去更新的。如果有從機長期沒有去更新此表,就認為與該從機之間的連接已經斷開。
??可以看出,相對于輪詢,心跳方式避免了主機等待各個從機應答的過程,從而減輕了主機的壓力,在遇到從機數量龐大的情況,往往采用心跳方式。
總結
- 上一篇: 端口号属于协议还是进程
- 下一篇: 后缀与扩展名的区别