Sprawa wyglada tak.
Jest server ktory codziennie dostaje od clientow (zalozmy ze okolo 20) dane od 200 MB do 1.5 GB (codziennie). Jest to dosc spora paczka codziennie do wyslania
- Plik jest zipowany
- Plik jest wysylany 1-2 dziennie
- plik jest wysylany na ftp
Problemy sa nastepujace
- Brak live stream informacji. Jezeli chcemy wiedziec co sie stalo godzine temu... musimy czekac 24 godziny.
- Jezeli jest slaby internet (bo klient jest na pustyni np) to: zrywa polaczenie, plik jest uszkodzony, wysylanie trwa bardzo dlugo
Znalazlem dwa sposoby na rozwiazanie tego. I nie jestem pewien ktory bylby lepszy
Na 100% zamiast tworzenia jednego pliku (zip) trzeba bedzie to wysylac co jakas minute moze co 5 minut to co program wygeneruje (mam dostep do kodu zrodlowego tego co generuje te pliki)
I teraz mam zagawodke jak to wysylac
-
https://www.rabbitmq.com/
postawic u klientow rabbitmq oraz na serverze. Napisac prosty skrypt ze jezeli cos dostal rabbitmq to ma to wyslac. Jezeli nie moze (bo nie ma internetu) to musi to kolekcjonowac.
Nigdy wczesniej z tym nie pracowalem, ale wyglada dosc fajnie. Wazne jest ze dziala na windowsie (tak, taki wymog...) - P2P
Napisac prosty skrypt ktory sprawdza czy jest cos w folderze. Jezeli jest to wysyla to do servera po czym usuwa. Po stronie servera, jezeli plik jest gotowy to przeniesc go na miejsce docelowe (na podstawie nazwy pliku)
problem przy 1) jest taki, ze w sumie ten rabbitmq nadaje sie dobrze do routingu a nie do prostego polaczenia. Dodatkowo bede musial wysylac zdjecia.
problem przy 2) jest taki, ze klient uslyszy P2P/Torrent i moze nie zechciec tego (tak uslyszalem...). No i trzeba bedzie obsluzyc polaczenie recznie. Przez co moze byc wiecej bledow (bedzie trzeba obsluzyc wiecej przypadkow niz przy 1))
zaleta 1) jest taka, ze jest to gotowe narzedzie ktore jest uzywane przez duze firmy.
zaleta 2) jest taka, ze jest to customowe rozwiazanie. Wiec jezeli bedzie trzeba zrobic cos dziwnego. Mozna to zrobic. Do tego to rozwiazanie wydaje sie lzejsze.
Moze macie jakies inny pomysly? Co Wy byscie wybrali?