各位前輩,有一個問題請教。現在我的采集程序是這樣子的。定時采集三個網站的數據,采集規則是不一樣,定時的時間也是不同。寫入數據庫的規則也是不一樣的。所以我現在是分開采集的。但程序還是一個。采集程序打開是主窗口,然後點擊依次打開三個網站的采集窗口。總共是四個窗口,一個主窗口,三個采集窗口。但我感覺這樣好像不太靈活,也有個弊端,是我擔心的。第一就是,在後期我可能還有第四個網站第五個網站的采集要加進去。最多應該也就五個網站咯。第二就是在一個Form掛掉之後就必須重啟整個程序才能讓那個Form重新運行,這樣其它的采集程序也就必須先關掉。所以現在我有些想把這三個網站的采集分成三個程序。我是這樣想的,以後再加第四個第五個網站的時候就重新再開程序,感覺這樣靈活些,第二也不會因為一個Form掛掉而導致整個程序的掛掉。但我有些擔心的是,這樣對系統的負擔是不是會加重,對內存的負擔是不是會加重。
按照你說的情況,采集規則、采集定時、入庫規則都不同,所以采用多個進程(每個進程負責一個采集)來采集是比較好的。
當然還要有一個守護進程,保證出現crash現象的時候,能自動重啟。
對於內存要求的限制,可以根據每個采集點情況配置每個進程的采集buffer大小。
當然如果內存還是瓶頸的話,那即使寫到一個進程中,可能也會出現內存瓶頸的問題。
當然,在實施前,還是要測試一下多個進程內存的占用、系統cpu的消耗,如果可行的話,再詳設、敲代碼。