2013-10-22 50 views
6

我試圖在不同的akka​​版本之間使用遠程處理。我有一個應用程序在scala 2.10.2上運行akka 2.2.1,在scala 2.9.2上運行akka 2.0.5的應用程序。第二個應用程序使用scala 2.10.2不支持的庫,所以我不能簡單地更新應用程序,也不能降級另一個應用程序。我收到一條消息錯誤消息,指出消息未送達。不同版本之間的Akka遠程處理

爲了測試它,我創建了一個虛擬2.2.1 akka應用程序,向2.0.5 akka actor發送一個String,將其打印到控制檯。爲了避免缺少發件人,2.2.1應用程序會將消息發送給將其路由到另一個版本中的actor的actor。

這兩個版本之間是否存在任何已知的兼容性問題?

我已經照顧conf文件,改變netty和東西,所以它應該只是一個版本的問題。虛擬應用程序工作正常,如果他們有相同的阿卡版本。

如果您需要,我可以提供錯誤日誌。

+0

只是想着它而讓我發冷。在編譯期間與多個版本進行對抗並不像現在把它帶到運行時那樣令人頭疼。 – FUD

回答

7

Akka的遠程通信協議在版本之間不兼容,這意味着您觀察到的是有意的。我們需要等至少一個主要版本,然後才能開始穩定,然後凍結協議以實現未來的互操作性。我們建議現在使用REST API進行解耦組件,並僅在可能進行鎖步更新時使用遠程處理。

+0

羅蘭。 「2.3」遠程協議是在2.3還是發生的,還是發生在2.4? –

+1

它還沒有發生,它可能不會在2.4發生。儘管如此,它將在明年發生。 –

+0

嗨羅蘭,只是檢查是否有任何狀態更新。協議是否打到「1.0」,或者如果沒有任何想法,它會在什麼時候? – foomip

相關問題