【拖雷】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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 監控系統網路視覺化傳輸視覺化
- 【多檔案自平衡雲傳輸】使用展示 —— 檔案傳輸系統
- 什麼是極速檔案傳輸,極速檔案傳輸如何進行大檔案傳輸
- 11┃音視訊直播系統之 WebRTC 進行文字聊天並實時傳輸檔案Web
- 鐳速傳輸:不是所有的檔案傳輸系統都叫MFT
- 企業經常需要進行傳輸檔案,大檔案傳輸有哪些方法?
- 基金行業,鐳速檔案傳輸系統方案行業
- 影片監控遠端傳輸方案
- 如何實現檔案傳輸系統的多儲存
- 重新整理 .net core 實踐篇—————配置系統之間諜[八](檔案監控)
- 加速檔案傳輸:檔案和UDP之間的區別UDP
- Linux 檔案傳輸Linux
- sftp 傳輸檔案FTP
- scp 傳輸檔案
- 一種對雲主機進行效能監控的監控系統及其監控方法
- 微服務架構之「 監控系統 」微服務架構
- 分散式監控系統之Zabbix proxy分散式
- 杭州亞銳-鐳速檔案傳輸系統技術方案
- 大檔案如何傳輸,大檔案的傳輸方式有哪些?
- Win10系統怎麼通過藍芽與手機進行檔案傳輸Win10藍芽
- Win10系統怎麼透過藍芽與手機進行檔案傳輸Win10藍芽
- 檔案傳輸協議的五種安全檔案傳輸替代方案協議
- 分散式監控系統之Zabbix主動、被動及web監控分散式Web
- PC 和開發板之間傳輸檔案
- 分散式監控系統之Zabbix基礎分散式
- wtfpd檔案傳輸使用
- 鐳速傳輸:如何快速傳輸大檔案?
- 電子公文傳輸系統-進展二
- win10系統區域網傳輸檔案操作方法 win10怎麼通過區域網傳輸檔案Win10
- win10系統區域網傳輸檔案操作方法 win10怎麼透過區域網傳輸檔案Win10
- 在Linux中,如何進行系統效能監控?Linux
- 什麼是檔案傳輸,介紹檔案傳輸的發展程式
- 有了大檔案傳輸加速功能,不再擔憂傳輸大檔案
- 如何快速傳輸大檔案:4 種大檔案傳輸有效的方法
- 如何將超大檔案傳輸給別人,超大檔案如何傳輸呢?
- IT監控(進階篇):運維監控系統手把手部署教學運維
- 基於 HarmonyOS Next 的跨裝置分散式檔案傳輸系統分散式
- 高效可靠安全的大檔案傳輸系統,瞭解一下!
- 檔案傳輸系統主要用於哪些場景?要如何選型?