Avviare l'applicazione tramite SSH => ma utilizzare la propria CPU


0

Stiamo utilizzando SSH (con X forwarding) per avviare in remoto un'applicazione da macchine diverse. Funziona tutto bene, ma stiamo riscontrando un carico elevato della CPU sul server quando molti client utilizzano questo meccanismo.

È in qualche modo possibile avviare un'applicazione localmente, ma farla comportare come se fosse stata avviata sul computer remoto?

L'applicazione ha bisogno di accedere a:

  • Il file system remoto
  • La rete remota (DBUS locale e non locale, ecc.)

1
"È in qualche modo possibile avviare un'applicazione localmente, ma farla comportare come se fosse stata avviata sul computer remoto?" - No; Sarebbe solo eseguire un'applicazione installata sul computer client.
Ramhound,

No, non è possibile.
simlev,

Bene per il file system remoto puoi considerare di montare una condivisione NFS / CIFS (o anche SFTP con fusibile). Per accedere alla rete remota è possibile utilizzare una VPN o ssh (port forward / SOCKS). Con DBus è più difficile: freedesktop.org/wiki/Software/DBusRemote
Nazar554

Grazie Nazar, in alcuni casi sembra un approccio. Purtroppo abbiamo bisogno degli stessi identici percorsi dei file sul telecomando, quindi il montaggio non è un'opzione. Immagino che dovremo modificare la nostra applicazione per renderla più flessibile con l'ambiente di esecuzione.
user3726374,

Risposte:


1

L'applicazione deve essere da qualche parte. Decidi tu se si trova sul server o sull'applicazione. Per quanto riguarda "comportati come se fosse stato avviato sul computer remoto", cosa intendi esattamente con questo? Accedere ai file sul computer remoto o utilizzare l'hardware del computer remoto? Fondamentalmente, se si desidera questo risultato finale, la soluzione ideale è che il programma supporti tale funzionalità. Esistono molti programmi che supportano questo concetto (in un modo o nell'altro). Chiarire meglio, cosa vuoi che accada, potrebbe portare a una soluzione più dettagliata che ti fornisce dettagli più specifici su come realizzare esattamente quello che vuoi.

Poiché sembra che tu stia cercando di liberare il server CPU, direi che molte applicazioni eseguono le istruzioni della CPU sui client e memorizzano i dati sul server. Ciò viene spesso fatto utilizzando SQL su una rete o facendo in modo che i client accedano a un file di dati che si trova in una cartella condivisa sulla rete. La fattibilità di una di queste idee (in genere solo una di queste idee è un'opzione, se una di esse è) dipende spesso dal software utilizzato.


Ho modificato la domanda e ho scritto a quali parti del server remoto deve accedere l'applicazione. Sì, in pratica sarebbe auspicabile un'architettura client / server a livello di applicazione, ma questa applicazione non lo supporta.
user3726374,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.