W3Cschool
恭喜您成為首批注冊用戶
獲得88經驗值獎勵
服務器在每次處理命令請求之前, 都會調用 replicationFeedMonitors
函數(shù), 由這個函數(shù)將被處理命令請求的相關信息發(fā)送給各個監(jiān)視器。
以下是 replicationFeedMonitors
函數(shù)的偽代碼定義, 函數(shù)首先根據(jù)傳入的參數(shù)創(chuàng)建信息, 然后將信息發(fā)送給所有監(jiān)視器:
def replicationFeedMonitors(client, monitors, dbid, argv, argc):
# 根據(jù)執(zhí)行命令的客戶端、當前數(shù)據(jù)庫的號碼、命令參數(shù)、命令參數(shù)個數(shù)等參數(shù)
# 創(chuàng)建要發(fā)送給各個監(jiān)視器的信息
msg = create_message(client, dbid, argv, argc)
# 遍歷所有監(jiān)視器
for monitor in monitors:
# 將信息發(fā)送給監(jiān)視器
send_message(monitor, msg)
舉個例子, 假設服務器在時間 1378822257.329412
, 根據(jù) IP 為 127.0.0.1
、端口號為 56604
的客戶端發(fā)送的命令請求, 對 0
號數(shù)據(jù)庫執(zhí)行命令 KEYS *
, 那么服務器將創(chuàng)建以下信息:
1378822257.329412 [0 127.0.0.1:56604] "KEYS" "*"
如果服務器 monitors
鏈表的當前狀態(tài)如圖 24-3 所示, 那么服務器會分別將信息發(fā)送給 c128
、 c256
、 c512
和 c10086
四個監(jiān)視器, 如圖 24-4 所示。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: