2016-07-25 14 views
2

問題的背景2個應用程序:傳輸I/O文件和調用腳本愨在不同的Red Hat Linux服務器運行

  1. 正在從單一的RedHat Linux的服務器 雲紅帽的Linux服務器的Java/J2EE應用程序。
  2. 我正在分析此 應用程序中涉及的批處理作業,以在雲環境中實施類似處理。

當前的方法:

我們有2個應用程序App1 &應用2都處於相同的RedHat Linux上 服務器。這兩個應用程序都在同一臺服務器上共享目錄 另外,Appl可以調用App2的目錄中的shell腳本來完成一些作業 。

App2的過程:

  1. 外部系統通過NDM作業發送輸入文件(.DAT),以應用2。
  2. 接收到的輸入文件(.DAT)將被放在App2的輸入文件 目錄中。
  3. 使用Java/J2EE程序/組件處理文件中的記錄
  4. 生成輸出文件。
  5. 將它放在App1的共享目錄中。
  6. App1有一個filewatcher指向這個目錄以使用這個 文件。

即將做法:

  1. 應用2將被移動到雲的Red Hat Linux服務器。
  2. App2將在至少2個節點中運行。

挑戰:

  1. 外部系統的工作仍然指向相同的舊目錄中的非雲Linux服務器。
  2. 處理完成後,輸出文件必須位於App1的共享目錄中。

後市展望:

  1. App2的過程中雲中運行時,預計讀&處理此文件。

要求大家針對此要求提出最佳方法。 我們可以通過FTP或REST-webservice從非雲Linux服務器讀取輸入文件嗎?

2)App1有業務需求來調用App2中的shell腳本。我們如何提供一個服務來調用位於雲服務器中的App2的shell腳本。

我是新來的雲。請原諒,如果我的問題是無關緊要或微不足道的。

提前致謝。

+0

這取決於您的雲服務器的功能和您的(非功能性)需求。雲服務器是否可以訪問App Server 1?哪些端口/應用程序可以使用?是否有其他限制,如音量/傳輸限制?你如何確保App Server 2上的shell腳本(現在有兩個節點)只執行一次?你如何確保兩個App 2服務器節點中的輸入文件只處理一次?兩個App 2服務器節點是否使用共享文件系統?是否可以在App 1和2 App 2服務器節點之間使用共享目錄? – andih

+0

謝謝你的快速回復。我在「答案部分」中添加了我對您問題的回覆。由於評論框無法容納我在答案框中發佈的更多字符。我很抱歉,如果我違反了stackoverflow標準格式的回覆評論。 –

回答

0

我非常感謝您,感謝您花費您寶貴的時間閱讀我的文章並作出快速回復。

在發佈此問題至堆棧溢出時,我遇到了以下大多數問題。因此我向Stackoverflow尋求建議,以便爲此需求建立一個理想的設計模型。

請在下面找到我的想法您的問題。

這取決於您的雲服務器的功能和您的(非功能性)需求。 雲服務器是否可以訪問App Server 1?

答:不,我正與UNIX /安全團隊討論找到摩的可行性「I/O &共享目錄」,如果我們可以安裝它可能允許應用2 訪問I/O &共享來自雲服務器的目錄。雲服務器是 預計處理App2的處理負載以獲得更好的效果 性能和I/O文件預計將在App服務器1中始終爲 。

可以使用哪些端口/應用程序?

答:這個問題還沒有確定。

是否還有其他限制,如音量/傳輸限制?

答:我相信我們有沒有文件傳輸的限制,因爲兩個(雲&應用 服務器1)是屬於我們的企業。

如何確保App Server 2上的shell腳本(現在有兩個節點)只執行一次?
如何確保兩個App 2服務器節點中的輸入文件只處理一次?

答案:對於上述2個問題,這裏是我的思路,希望我們必須 實現信號量邏輯,以避免重複處理。我們可以用 進程名的數據庫條目&節點ID被保留的每個 請求,或者我們可以 以下狀態作爲其後綴
。就緒-file通知處理一起放置一個空文件與jobnames是 準備
。進程 - 通知某個節點正在處理文件
。已處理 - 通知已處理狀態
。已拒絕 - 通知進程已退出 。

兩個App 2服務器節點使用共享文件系統嗎?

答:這種方法尚未討論,但我們需要一個共享文件系統。 由於各個節點中的每個進程都可以寫入日誌,並且日誌文件應位於一個地方,因此可以找出 問題非常有用。

是否可以在App 1和2 App 2服務器節點之間使用共享目錄?

Ans:這是待定。我正在與Unix小組討論,以分享到 的目錄。

我正在考慮用webservices替換腳本。我可能是錯的,但我想在這篇文章中分享我的看法。
我們是否可以通過web服務調用來傳遞App1 & App2而不是shell之間的請求和傳輸/處理文件?

場景:
1.外部系統經由NDM作業發送輸入文件(.DAT)至App2的。
2.我們可以在(server1)的地方寫一個腳本來調用App2的webservice來處理這個文件。
        NDM後文件複製作業將觸發此 腳本。
3.我們可以有一個web服務將文件傳輸到雲端的app2?
4. WebService的呼叫將擊中endpoint.I希望負載平衡器將web服務調用傳遞給
       其中服務存在 節點中的一個和數據的將被處理&的輸出文件將
       得到 生成。
5.我們需要另一個web服務輸出文件發送到服務器1同樣,我相信
       我們需要在這兩個 服務器web服務客戶端交換Web服務調用/文件傳輸
       服務器之間1 & 雲服務器。

我在這裏提出的webservice方法完全是我的思考過程。我沒有實施它或測試它。 如果這個過程是正確的。我可能需要找出這種方法的優點/缺點

請您分享您對我回復的評論,並要求您分享您的建議。

謝謝。

相關問題