Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?

Re^3: Sanely modifying running code

by thor (Priest)
on Mar 14, 2006 at 15:46 UTC ( #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.


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
    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.


      The only easy day was yesterday

        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?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://536605]
[pryrt]: stevieb: going thru cblast to get caught up, I see that strawberry fixed their download hashes. Fast turnaround on that fix. :-)
[pryrt]: Are you going to tie the berrybrew expected hashes to their releases.json to keep it always up-to-date?

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (7)
As of 2017-03-30 13:11 GMT
Find Nodes?
    Voting Booth?
    Should Pluto Get Its Planethood Back?

    Results (357 votes). Check out past polls.