Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

179
Visualizações
Arquitectura del sincronizador de archivos

Tengo que hacer un sincronizador de archivos: una aplicación que esencialmente sincroniza H24 una gran cantidad de archivos de datos de muchos sistemas externos a mi sistema local utilizando esencialmente FTP, SFTP y NFS.

Los flujos son más de veinte, para cada uno de ellos la lógica es ligeramente diferente y debe ser configurable. Uno de los requisitos es que si uno de los flujos falla por alguna razón, debe ser posible recuperarlo sin reiniciar todo el sistema.

Otro requisito es que la tasa de transferencia sea equilibrada. Es decir, no debe haber un stream o parte de ellos sincronizados y otro stream con 10 horas de retraso.

Tengo cierta perplejidad sobre la arquitectura a realizar: si realizo un solo sistema multihilo, tendría un recuento de hilos muy alto (más de 100 diría) y lo complicaría al cumplir con los dos requisitos descritos anteriormente.

Estaba pensando en realizar varios procesos o diferentes instancias del mismo proceso, incluso si parece un poco "feo" ... así que de esta manera el sistema operativo haría un balance de carga y sería más simple matar o iniciar un flujo ..Tal vez incluso el rendimiento podría ser mejor ya que varios procesos podrían usar mucha más memoria RAM. ¿Alguien tiene algún consejo/consejo? Muchas gracias y lo siento por mi pobre inglés. Gian

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Como dijo @kayaman, 100 hilos no es mucho. Si eso significa 100 subprocesos por unidad de trabajo y tendrá muchas unidades de trabajo, lo que implicaría un aumento de muchas magnitudes en los subprocesos, le sugiero que eche un vistazo a Fibras .

Siempre que no bloquee las fibras, puede tener más de 100 000 fibras ejecutándose en un par (normalmente el número de núcleos de CPU) de subprocesos. Luego, cada fibra solo esperaría una devolución de llamada del proceso antes de continuar.

Para acceder a sus puntos finales y manejarlos de manera similar, eche un vistazo a Apache Camel: le permitirá transmitir el FTP, SFTP, etc. y manejar cada uno como un punto final más (en teoría, también debería poder conectar el correo electrónico). y transmitir paquetes que se envían por correo electrónico al punto final)

Con respecto al equilibrio de los flujos, esta es la lógica comercial que debe implementar. Si un flujo recibe paquetes más rápido que otro flujo, debería poder limitar la velocidad al no solicitar más paquetes bajo ciertas condiciones. Necesita más información sobre cómo recuperar los paquetes y qué bibliotecas está utilizando para ser de mejor ayuda aquí.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda