【拖雷】Taobao監控系統之改進——檔案傳輸
在早些的時候,也包括我的書《構建Oracle高可用環境》中的16章,關於監控體系的介紹中,所有的案例都是採用scp從被監控的客戶端上拷貝檔案到集中分析的Monitor上,類似這樣的動作,如
scp $SOURCE_FILE $MONITOR:$TARGET_FILE
當客戶端不多的情況下,這麼做也是沒有什麼問題的,而且書寫簡單,一直在這麼用。但是,當客戶端的數量上去以後,在大量併發的情況下,有的時候就會出現這樣的錯誤:
ssh_exchange_identification: Connection closed by remote host
lost connection
檢視crontab的日誌,也可以看到有部分crontab排程失敗:
Cron Job with pid: 2859224 Successful
Cron Job with pid: 3154900 Failed
Cron Job with pid: 3027512 Successful
這是因為ssh對併發的支援不是太好,當很多客戶端同時傳送檔案的時候,可能會有部分客戶端傳送失敗,經過研究,決定用ftp取代scp來傳送檔案,改寫為如下:
TARGET_TMP_FILE=$TARGET_FILE`date +%Y%m%d%H%M%S`
ftp -n << !
open $MONITOR
user user pass
binary
put $SOURCE_FILE $TARGET_TMP_FILE
rename $TARGET_TMP_FILE $TARGET_FILE
bye
!
修改以後通過觀察,多客戶端檔案同時併發傳輸的問題解決,檢視crontab的日誌,再也沒有出現過crontab排程的失敗。
注意,這裡是先put(上傳),然後再rename,這麼做的好處也就是解決另外一個併發問題,如ftp被啟動多次傳遞同樣一個檔案,這個檔案可能被多個程式附加,而不是覆蓋。而採用可變的臨時檔名稱(臨時檔名稱帶時間戳標記),等上傳完成之後再改名,就可以避免這種情況的發生。
其實採用臨時檔案的做法,在unix/linux中也很常見的,如執行crontab -e,就可以看到類似的提示
/tmp/crontab.XXXXXwxMJF” 0L, 0C
其實它也是在/tmp下面建立了自己的臨時檔案,用來解決併發問題。
<!----EOF--
地址:http://rdc.taobao.com/blog/dba/html/137_monitor_file_transmission.html
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1384/viewspace-247879/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- linux 系統之間傳輸檔案Linux
- fanotify 監控檔案系統
- 監控系統網路視覺化傳輸視覺化
- 【多檔案自平衡雲傳輸】使用展示 —— 檔案傳輸系統
- 11┃音視訊直播系統之 WebRTC 進行文字聊天並實時傳輸檔案Web
- pythonwatchdog監控檔案系統變動Python
- 用 inotify 監控 Linux 檔案系統事件Linux事件
- Unix檔案系統頁面監控實現
- DG 日誌傳輸監控
- 鐳速傳輸:不是所有的檔案傳輸系統都叫MFT
- 告警系統主指令碼、告警系統配置檔案、告警系統監控專案指令碼
- 使用Inotify 監控Linux 檔案系統事件(轉)Linux事件
- 企業經常需要進行傳輸檔案,大檔案傳輸有哪些方法?
- 影片監控遠端傳輸方案
- 基金行業,鐳速檔案傳輸系統方案行業
- scp不輸入密碼進行檔案傳輸密碼
- linux之間檔案傳輸scpLinux
- 如何實現檔案傳輸系統的多儲存
- 一種對雲主機進行效能監控的監控系統及其監控方法
- Unix檔案系統頁面監控實現-效果頁面
- 什麼是極速檔案傳輸,極速檔案傳輸如何進行大檔案傳輸
- 重新整理 .net core 實踐篇—————配置系統之間諜[八](檔案監控)
- 微服務架構之「 監控系統 」微服務架構
- 分散式監控系統之Zabbix proxy分散式
- Linux系統監控命令之iotopLinux
- webservice傳輸檔案Web
- Mac下利用SSH進行傳輸檔案(轉)Mac
- 杭州亞銳-鐳速檔案傳輸系統技術方案
- Win10系統怎麼通過藍芽與手機進行檔案傳輸Win10藍芽
- Win10系統怎麼透過藍芽與手機進行檔案傳輸Win10藍芽
- 加速檔案傳輸:檔案和UDP之間的區別UDP
- 實時檔案監控
- FileSystemWatcher檔案監控
- 大檔案如何傳輸,大檔案的傳輸方式有哪些?
- Linux 系統中使用 logwatch 監控日誌檔案Linux
- 分散式監控系統之Zabbix主動、被動及web監控分散式Web
- 分散式監控系統之Zabbix基礎分散式
- linux常用系統監控工具之vmstatLinux