Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Re^4: Sanely modifying running code

by Limbic~Region (Chancellor)
on Mar 14, 2006 at 16:40 UTC ( [id://536626]=note: print w/replies, xml ) Need Help??


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

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

Replies are listed 'Best First'.
Re^5: Sanely modifying running code
by thor (Priest) on Mar 14, 2006 at 21:25 UTC
    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://536626]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others taking refuge in the Monastery: (4)
As of 2024-03-29 00:20 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found