La scelta migliore per un server di file temporanei Linux?

Per un progetto specifico, devo implementare un server di file temporanei:

  1. il server deve servire file binari di size medie (circa 1 MB)
  2. la durata massima dei file è di 5 minuti
  3. i file saranno caricati da circa 10 server distinti
  4. i file saranno letti da circa 10 server distinti
  5. un dato file viene caricato da solo 1 server e letto solo da 1 server
  6. un dato file può essere distrutto dopo la prima lettura con successo
  7. il server deve utilizzare solo porte non privilegiate (nessun FTP o NFS)
  8. il server deve funzionare senza alcun accesso root
  9. il server deve funzionare su Linux
  10. il server deve essere accessibile in LAN
  11. i client (caricamento e download) sono solo server Linux (il codice client deve funzionare anche con qualsiasi accesso root)
  12. Non ho bisogno di persistenza formale (posso accettare di perdere alcuni file dopo un incidente)
  13. il server deve utilizzare solo componenti open source
  14. deve essere veramente veloce!

Sto considerando due soluzioni: – un'istanza REDIS (senza VM, nessuna persistenza) – un server NGINX con module DAV (command PUT per caricare)

  • Quale è il miglior sistema operativo per PPTP?
  • Comando Shell per get l'indirizzo IP?
  • php5-fpm maxes tutti i core (nginx + php5fpm + wordpress)
  • Creazione di un file tar con checksums inclusi
  • Una sostituzione cron che gestisce più zone temporali
  • Aspetta che il command di attesa script continui a bloccarsi
  • Ma sono veramente aperta ad altre soluzioni 😉

    4 Solutions collect form web for “La scelta migliore per un server di file temporanei Linux?”

    Se è ansible utilizzare una soluzione FreeBSD piuttosto che Linux, FreeNAS è una big opzione NAS che è facile da installare e configurare e dispone di una vasta gamma di opzioni per la connettività e il controllo dell'accesso. C'è anche una versione Linux del progetto in corso, ma non sono sicuro di come è completa la funzionalità.

    C'è anche OpenFiler sul lato Linux, ma abbiamo trovato FreeNAS meglio per le nostre varie esigenze (che, evidentemente, suonano piuttosto un po 'diverso dal tuo).

    Modifica: sembra che hai bisogno di qualcosa da eseguire su un server Linux esistente piuttosto che sul proprio hardware. Se questa è una necessità penso di eseguire una di queste opzioni come un VM sotto KVM o Xen.

    puoi provare la tua fortuna con memcached o coauchdb . entrambi sono negozi di valore chiave, primo è un tipo 'in memory'. può utilizzarlo? Non so – dipende se il consumatore può "indovinare" la chiave sotto la quale i dati sono stati memorizzati dai prodotti.

    forse module memcached per nginx è esattamente quello di cui hai bisogno? insieme ad esso otterrai l'interface HTTP RESTful al tuo database in memory.

    si può anche considerare un meccanismo di queing – a partire dal semplice fifo implementato da voi in mysql a cose come rabbitmq o activemq .

    Basta eseguire NFS su una port non standard, rendere il tuo disco per quello tmpfs, io asume dal suono di questo, la dimensione totale è piccola? Questo dovrebbe funzionare vicino alla velocità del filo (classicamente non vuole scrivere sincroni, ma con tmpfs, che non sarà un problema.

    tmpfs è un fs che è fondamentalmente un pezzo del file swap / memory. Quindi nessuna persistenza attraverso un riavvio di qualsiasi tipo, ma veloce come scrivere alla memory.

    I tuoi requisiti suggeriscono che, oltre al "server", è necessario fornire:

    1) alcuni software client per mettere i file sul server

    2) software client per il download dal server

    3) un canale di notifica tra l'uploader e il downloader

    4) alcune smart nel server per scadere i contenuti non sono più necessari

    Mentre HTTP è una scelta ovvia (1 e 2 sono ben coperti, mentre 3 e 4 richiederebbero solo alcune righe di codice facilmente implementabili in perl / php / whatever) questo suona come un sistema di accodamento di messaggi asincroni. Non si dice quanto sia importnte l'integrità transazionale – ma 2 & 12 suggeriscono che non è un grosso problema. Quindi suggerirei di utilizzare la notifica via email è implicita, sopravviverà a interruzioni temporanee, è ansible configurare facilmente un secondo server SMTP su un sistema in esecuzione su una port non privilegiata e la maggior parte ti permetterà di specificare intervalli di riavvio, timeout ecc. di aggiungere il codice di triggerszione all'estremità di ricezione – questo è banale con procmail.

    HTH

    C.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.