I need to build some processes to form a distributed system.
I am in a dillema between RMI
and JMS
.
Issues:
I opted RMI
since I already know it and it fits the distributed systems and it is fast. But the problem is that it is blocking.
Ie if one of the other process hangs the calling process will be "stuck" on the method call. I think there are some third party libraries but I don't know if they are stable enough.
JMS
is a standard and avoids the problem since it is asynchronous. But going this way I have the following issue (also I haven't used JMS
before):
If I send a message to one of the processes, I sometimes (depending on the context/flow) need to know that the other process actually did something after receiving my message. But this forms a "synchronous" model, right?
So taking all these into account, what would be the best approach and how my problems would be solved in each case? Eg my problem with JMS
how would it be solved?
JMS is a better solution because of the reasons you mentioned.
For receiving acknowledgements you could have the receiver send you messages post some action.
The Actor model which builds on message processing concepts is worth mentioning here.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.