Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Re^3: Sanely modifying running code

by thor (Priest)
on Mar 14, 2006 at 15:46 UTC ( [id://536605]=note: print w/replies, xml ) Need Help??


in reply to Re^2: Sanely modifying running code
in thread Sanely modifying running code

what you describe appears to assume that my network application is web based where HTTP is stateless and "sessions" are created through the application.
Almost. It does, however, assume that sessions are started and stopped relatively quickly (think minutes instead of days).
A TCP connection is established and remains that way until termination.
Interestingly enough, that's how the web works. ;) Either way, you're free to use the methodology that I stated above or not; I won't be hurt if you don't.

thor

The only easy day was yesterday

Replies are listed 'Best First'.
Re^4: Sanely modifying running code
by Limbic~Region (Chancellor) on Mar 14, 2006 at 16:40 UTC
    thor,
    I am interested in hearing how I could use your methodology but you can consider me confused. I would have thought my requirement of not dropping connected users would make your approach untenable?

    I can't rely on users to disconnect from one server and reconnect to another as stated in my original requirements. The only way I can see to make your solution work then is to have the clients connect to a proxy on the front side which then reconnects to the second server on the back side.

    Is this what you were proposing or am I still just missing the boat?

    Cheers - L~R

      The only way I can see to make your solution work then is to have the clients connect to a proxy on the front side which then reconnects to the second server on the back side.
      That's pretty close. In normal operation, the proxy sends the request to a "random" service in a pool (where "random" can just be round robin). Sometimes you have to take a service down. From here, there are differing approaches. One way is to have the service tell the proxy that it's no longer available to service requests. Another is to have the proxy tell the service to shutdown. Yet a third way would be to have the proxy wait for the service to respond to a request to handle a request...if it doesn't respont, the proxy forwards the request to a different service. In any case, the proxy needs to have a way to either know that a given service is down or to gracefully handle it when it happens. From there, you take down the service, update what you need to and bring it back into the fold.

      thor

      The only easy day was yesterday

        thor,
        I have a fair amount of experience engineering this style of solution - with hardware. I have never written software to do it. In a response elsewhere in this thread I realized I don't even need physical different servers, just processes. I am going to explore this further but it is extreme overkill ATM. Thanks for following through to the point of mutual understanding.

        Cheers - L~R

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://536605]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others having an uproarious good time at the Monastery: (6)
As of 2024-03-28 13:01 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found