Caching proxy die ook werkt als er geen verbinding is

Pagina: 1
Acties:

  • DumbAss
  • Registratie: April 2002
  • Laatst online: 16-08-2025
Hoi allemaal,

Dit is het probleem: we hebben een (flash) applicatie draaien bij een paar BMW dealers. Die flash applicatie haalt XML bestanden binnen. Om de 1 of andere reden loopt het Internet van die dealers via een (prive?) lijn naar BMW Duitsland.

Dat is waarschijnlijk ook de reden dat het Internet daar uitermate instabiel is. De applicatie die daar draait is voor hun klanten en dan is het een beetje jammer als je om de haverklap ioErrors krijgt.

Nu dacht ik een geniale oplossing te hebben: een lokale proxyserver draaien die de boel cached.

Dus ik heb eerst Apache2 + mod_proxy geprobeerd en vervolgens Squid. Maar allebei hadden ze een beetje hetzelfde probleem: als er geen verbinding is beginnen de servers te bokken. Soms met DNS errors en anders met errors als: "Parent server could not be reached".

Nu is mijn vraag: weet iemand een proxy server (voor Windows) die er beter mee overweg kan als er geen verbinding meer is? Of weet iemand hoe ik mod_proxy of squid zou kan tweaken dat ze hier beter mee overweg kunnen?

Ik heb de documentatie van zowel mod_proxy als squid al doorgelezen, maar bij beiden kon ik niet zoveel vinden omtrend dit probleem.

Alvast bedankt!

Vanutsteen.nl => nerds only | iRacing


  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
Definieer geen verbinding eerst eens.
- Is een succesvolle dns-lookup een verbinding?
- Is een http 500 error een verbinding?
- Is 60 sec geen data binnenkrijgen een verbinding, en 90 sec en 120 sec? Want na 61 /91 /121 sec kan je opeens wel data binnenkrijgen

Op zich zou ik eens naar die app kijken en dan gewoon zeggen : als ik binnen 5 sec geen nieuwe / correcte xml binnenkrijg dan fallback naar de vorige xml. Dus niet live meer de xml aanroepen, maar hier 5 sec vertraging inzetten door hem eerst lokaal proberen te downloaden.

Mod_proxy / squid zijn hier niet voor gebouwd. De errors die je nu krijgt hoor je te krijgen, jouw app kent alleen geen error-correction...

  • PerfectPC
  • Registratie: Februari 2004
  • Laatst online: 01-02 11:46
DumbAss schreef op zaterdag 06 december 2008 @ 11:34:
Hoi allemaal,

Dit is het probleem: we hebben een (flash) applicatie draaien bij een paar BMW dealers. Die flash applicatie haalt XML bestanden binnen. Om de 1 of andere reden loopt het Internet van die dealers via een (prive?) lijn naar BMW Duitsland.
Ben je daar heel zeker van, in België is dit namelijk anders. Neem eens contact op met de beheerders van het BMW dealernet, die kunnen je verder helpen. In België is dit T-Systems, maar ik heb geen idee wie dit in Nederland verzorgt.

  • BCC
  • Registratie: Juli 2000
  • Laatst online: 19:32

BCC

Het lijkt mij dat als je dit wil cachen, je dit in de proxy server van BMW Dealernet wil doen. En aangezien daar waarschijnlijk ook je "internet probleem" vandaan komt, lijkt met het een goed idee om die lui eens even op te bellen :)

[ Voor 4% gewijzigd door BCC op 06-12-2008 18:01 ]

Na betaling van een licentievergoeding van €1.000 verkrijgen bedrijven het recht om deze post te gebruiken voor het trainen van artificiële intelligentiesystemen.


  • DumbAss
  • Registratie: April 2002
  • Laatst online: 16-08-2025
Bedankt voor de reactie allemaal! We gaan van de week praten met de ICT afdeling van BMW. Kijken wat daar uitkomt. Maar m'n baas wil graag dat we dit zelf oplossen omdat deze applicatie ook mogelijk bij andere dealers/merken uitgerold gaat worden en we willen graag dit soort problemen vantevoren opvangen.

Wat ik bedoel met geen internet: het klapt er echt volledig uit. Dus DNS requests e.d. lukt ook niet meer. Hoe lang dat duurt weet ik eigenlijk niet. Dat zou ik een keer moeten laten testen.

Ik heb ook zitten denken om gewoon de hele boel te rsyncen. Maar ja, dan is het weer een beetje batch-achtig en dat is zonde omdat de xml op de betreffende server wel (bijna) realtime worden bijgehouden.

Ik denk dat ik gewoon lokaal apache ga draaien en een php bestandje schrijf met:
- wanneer internet => die gebruiken
- geen internet => cached bestandje

Lekker vies, maar ja :P

Als iemand betere ideeen heeft? Graag!

Vanutsteen.nl => nerds only | iRacing


  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
DumbAss schreef op zondag 07 december 2008 @ 23:09:

Ik denk dat ik gewoon lokaal apache ga draaien en een php bestandje schrijf met:
- wanneer internet => die gebruiken
- geen internet => cached bestandje

Lekker vies, maar ja :P
Wat is hier vies aan? Behalve dat je een olifant als apache installeert om een mug te doden zie ik hier weinig mis aan... Ik zou zelf nog eens kijken of je dit niet in je app kan regelen maar dat ben ik.

Het principe is toch precies wat je wilt hebben?

  • xtra
  • Registratie: November 2001
  • Laatst online: 19-11-2025
DumbAss schreef op zondag 07 december 2008 @ 23:09:
Als iemand betere ideeen heeft? Graag!
Een fatsoenlijke verbinding als systeemeis? Lijkt me niet onredelijk voor een internet-applicatie.

Een fallback-optie is natuurlijk mooi maar volgens mij begin je nu al verkeerd. En bij andere dealers tref je misschien weer een net wat ander probleem aan waarvoor je alsnog een oplossing moet verzinnen.

  • vliegjong
  • Registratie: Januari 2003
  • Laatst online: 08-08-2017

vliegjong

Bump!

Ik kan je ook stiekum vermelden dat je dat eigenlijk niet wilt.
Een proxy die content serveert zonder connectie...
De 1ne kant heeft te maken met security. Als je een goede proxy hebt zal die eerst aanloggen op de site alsvorens de file uit zijn cache te duwen. Anders kan ik jouw bankgegevens ook uit een cache trekken.

De andere kant, als een webserver niet bereikbaar is zal je proxy geen content uit zijn cache moeten serveren want er kan een goede reden zijn waarom een site niet meer bestaat.

just me 2 eurocenten

Ik ben een Nerd, jij ook? Dan zijn er namelijk 10 toffe mensen :)


  • axis
  • Registratie: Juni 2000
  • Laatst online: 26-01-2023
DumbAss schreef op zondag 07 december 2008 @ 23:09:
Ik denk dat ik gewoon lokaal apache ga draaien en een php bestandje schrijf met:
- wanneer internet => die gebruiken
- geen internet => cached bestandje

Lekker vies, maar ja :P

Als iemand betere ideeen heeft? Graag!
Dit lijkt me de meest logische oplossing. Je eist natuurlijk een stabiele internetconnectie, maar als fallback scenario heb je dit nog. Ik zou idd altijd proberen om de online versie op te halen (en daarna asynchroon wegschrijven op disk), en als dat niet lukt na 2-3 seconden bijvoorbeeld je laatste lokale versie pakken. Met welke tool je dat doet is om het even. Als je dat zelf makkelijk kunt met apache en php, zou ik dat vooral doen.

Is een redelijk normale manier van werken, we hebben zo geclusterde webapplicaties draaien met tienduizenden bezoekers per dag, en die applicaties trekken ook bijvoorbeeld data uit een database, en cachen die lokaal uit performance en scalability redenen..

Two advices for network troubleshooting.. learn to draw diagrams in Visio, and THINK IN LAYERS!


  • DumbAss
  • Registratie: April 2002
  • Laatst online: 16-08-2025
Thanks allemaal! Ik ga gewoon de php variant proberen. De applicatie draait al, dus daar moet gewoon snel iets voor verzonnen worden. En dan hoop ik dat we het geregeld krijgen dat er een fatsoenlijke internetverbinding komt.

Maar dit probleem gaat vast nog wel een keer spelen want er zijn echt veel bedrijven met een crappy internetverbinding of gare infrastructuur.

Nogmaals bedankt voor het meedenken.

Vanutsteen.nl => nerds only | iRacing


  • Noork
  • Registratie: Juni 2001
  • Niet online
Wellicht kun je ook iets als Freeproxy installeren. Denk dat je hierin ook wel iets met cache kan instellen, maar zeker weten doe ik dat niet. In elk geval is een dergelijk programma beheersbaarder dan een Apache en squid installatie.

  • ToolkiT
  • Registratie: Februari 2004
  • Niet online

ToolkiT

brit-tweaker

xtra schreef op zondag 07 december 2008 @ 23:35:
[...]

Een fatsoenlijke verbinding als systeemeis? Lijkt me niet onredelijk voor een internet-applicatie.
Helaas werkt dat in de auto/motor branche vaak niet zo simpel..
Als ik zag hoe traag het systeem bij mijn locale honda dealer was, werd ik daar erg triest van.. het werd allemaal centraal in Japan geregeld, met een hele trage verbinding zo te zien..
Even opzoeken wat voor boutje er op een plek zat koste uren... met google op je 3g phone was je waarschijnlijk sneller met een niet officiele bron dan in het officiele systeem van honda..

Mag je een gegeten paard in de bek kijken?


  • BCC
  • Registratie: Juli 2000
  • Laatst online: 19:32

BCC

ToolkiT schreef op woensdag 10 december 2008 @ 12:07:
[...]
met google op je 3g phone was je waarschijnlijk sneller met een niet officiele bron dan in het officiele systeem van honda..
Inderdaad de systemen vroeger met losse CDs waren wat dat betreft een stuk beter.

Na betaling van een licentievergoeding van €1.000 verkrijgen bedrijven het recht om deze post te gebruiken voor het trainen van artificiële intelligentiesystemen.


  • Herko_ter_Horst
  • Registratie: November 2002
  • Niet online
xtra schreef op zondag 07 december 2008 @ 23:35:
[...]

Een fatsoenlijke verbinding als systeemeis? Lijkt me niet onredelijk voor een internet-applicatie.

Een fallback-optie is natuurlijk mooi maar volgens mij begin je nu al verkeerd. En bij andere dealers tref je misschien weer een net wat ander probleem aan waarvoor je alsnog een oplossing moet verzinnen.
Je kan natuurlijk eisen wat je wilt, maar 100% uptime krijg je nooit voor elkaar. Het is dus wel degelijk verstandiger om in je applicatie voorzieningen in te bouwen voor de 8 fallacies of distributed computing.

"Any sufficiently advanced technology is indistinguishable from magic."

Pagina: 1