While akka has documentation regarding binary compatibility for drop in jar replacement, I can't find anything regarding protocol binary compatibility.
At the basic level, the actor API is a mailbox of messages. Therefore as long as the messages stay binary compatible there's every possible that messages can be sent to other systems running different (jar-incompatible) versions of akka.
So given:
- 2 applications with a fixed message set
- No Typed actors (only using
actor ! message
andactor ? message
) - "Application 1" using akka 2.3.9
What's the earliest version of akka "Application 2" could use?
Other items I'd like confirmed:
- Akka clustering protocol is irrelevant here - each application can have their own cluster and communicate between the clusters using TCP remoting
- Scala binary compatibility is irrellevant as well - the systems are communicating via a TCP protocol with a pre-compiled set of messages (quite possibly specified in Java for assurance/paranoia)
As a start, the 2.0 series has the same remoting configuration, but is there any reason that 1.3 couldn't be made to work?