Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

157
Views
Cómo hacer que dos servidores backend nodejs se comuniquen entre sí para manejar diferentes tareas con k8s en mente

Tengo un servidor express que maneja toda la autenticación (usando token auth y tengo sesiones de almacenamiento redis para controlar la cantidad de inicios de sesión por dispositivo) y lectura/escritura en mongoDB.

Quiero agregar chat para mis usuarios (usando socket.io y socket.io-redis) y en lugar de codificarlo dentro del backend actual, me preguntaba cómo podría mantenerlo separado o si eso es incluso una buena idea.

Pensé que sería porque estoy implementando en un clúster k8s, pero me preguntaba cómo realizar la comunicación entre estos dos servidores.

Estoy usando el controlador nginx de ingreso donde abro el tráfico al backend en el balanceador de carga. Al principio pensé que enrutaría todo el tráfico desde el servidor entre el servidor de chat y los usuarios. ¿Pero ese no es el caso ya que el servidor de chat necesita conectarse directamente con los usuarios? Entonces, ¿cómo aseguraría la comunicación entre el backend y el servidor de chat, así como la comunicación entre el servidor de chat y los usuarios?

Tal vez estoy pensando demasiado en esto, pero se agradece cualquier idea.

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Lo que terminé haciendo fue crear un servidor de autenticación, un servidor de API principal y un servidor de chat. La interfaz que apunta a auth.domain.com, api.domain.com, chat.domain.com.

El servidor de autenticación genera un JWT que se almacena en redis cuando un usuario inicia sesión. El servidor de API principal y el servidor de chat verifican redis para asegurarse de que el JWT sea válido y luego se ejecuta.

Debido a que todo esto se ejecuta en un clúster k8s y puede tener varias instancias, utilicé Pub/Sub, por lo que incluso si un usuario no está en el mismo servidor websocket (servidor de chat), aún recibirá.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!