Olá,
Estou querendo desevolver um sistema para fazer o balanceamento de carga entre servidores de virtualização com o XEN, automaticamente.
De principio quero fazer um java, por ja desenvolver em java, e futuramente irei passar para um outra linguagem tipo c++.
Executar comandos do shell pelo linux eu ja sei usando o runtime.exec, mas eu gostaria de saber como irei obter as informações que preciso para poder fazer a analise e saber se eh necessario migrar alguma maquina virtual para outro servidor.
Alguem ae tem alguma luz para mim.
- Crie um “ProcessBuilder” especificando o comando e os argumentos
- Defina a saída de erro como sendo a mesma que a padrão usando “redirectErrorStream(true)”
- Inicie o processo usando “start()”
- A partir do objeto “Process” que foi retornado pelo start, use o “getInputStream” e faça a leitura dos dados
E uma pergunta: porque você vai fazer em Java e depois migrar? Não é possível deixar em Java? Se não for, não seria mais inteligente fazer em outra linguagem diretamente?
[quote=marcobiscaro2112]
E uma pergunta: porque você vai fazer em Java e depois migrar? Não é possível deixar em Java? Se não for, não seria mais inteligente fazer em outra linguagem diretamente?[/quote]
Primeiramente penso em desenvolver em java pela facilidade que tenho em java e tb por naum conhecer outra linguagem ao nivel que conheço java.
Naum seria pesado manter esse programa no servidor? pois para ele executar eu teria q ter um jvm instalado.
Pensei em depois fazer em outra linguagem usando a mesma logica que usei no java. Mas se naum for pesar eu vou manter em java mesmo.
Outra pergunta…o que vc me aconselha, mater esse programa como uma thread ou agendar ele no cron para executar de tempo em tempo.
Qualquer dica eh bem vinda.
Pesado não fica, já que a JVM usa menos de 100MB de espaço no HD e alguns MB de RAM enquanto está em execução (e para um servidor acredito que isso não é nenhum problema).
E quanto a forma de execução, agendo no cron. A JVM usa apenas alguns MB de RAM mas não há porque deixar esses MB em uso desnecessariamente. Deixe os poucos KB do cron para que este chame seu programa somente quando necessário.