Announcement Announcement Module
No announcement yet.
Distributed architecture using Spring remoting Page Title Module
Move Remove Collapse
Conversation Detail Module
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    You are using JRMP (Java Remote Method protocol). RMI stubs registered with the RMI registry are connected to a specific endpoint. So, the client looks it up and then the call will go to the server specified in the stub which is what you are seeing.

    The load balancer would need to understand this protocol and be able to open & modify the RMI packages for this approach to work as I understand it.

    Use EJB (or perhaps Terracotta) if you need non-HTTP load-balancing.
    Last edited by Manuel Palacio; May 25th, 2007, 01:22 AM.


    • #17
      Re: Distributed Architecture using Spring Remoting


      Thanks for replying. So you mean to say that the endpoint cannot be a load balancer??

      Will I face the same problems if I move to http invoker ??



      • #18
        Usually the stubs provided by different app servers like WebLogic or JBoss have load-balancing "built-in" when you enable clustering but you don't get this with "plain" RMI which is what you are using unless the load balancer guarantees that it can work with the JRMP protocol. It seems that this is not the case. Which load balancer are you using btw?

        I think it should work as you expect if you use the HTTP invoker. Consider using Hessian for more efficiency.


        • #19
          Re: Hessian / Load balancing

          hi Manuel,

          Thanks a lot for your reply. You're probably right that it may not be achievable. I will have to check which LB we're using.

          Will try moving to http invoker tomorrow (isn't it RMI over http happening really?).

          As for moving to Hessian, I think we're sort of committed to Java serialization for now. Might move to it if we face scalability issues (we've used Externalizable in places where we thought it might be inefficient to let Java do it for us)



          • #20
            isn't it RMI over http happening really?
            The object serialization part is the same. Both use Java serialization which requires strictly matching versions of the involved classes at both ends