Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

228
Vistas
Escalado horizontal de postgres en el clúster de kubernetes

Tengo los siguientes requisitos para que mi aplicación se implemente en Kubernetes Cluster. Estoy tratando de idear una arquitectura que se asemeje a mi otra implementación de microservicios y que no sea complicada.

  • Los nodos del servidor de la base de datos deben tener capacidad reservada
  • Cuando la utilización de la CPU supera el 60%, debería generarse una nueva instancia de base de datos
  • La aplicación y la base de datos residirán en el mismo clúster.
  • Necesidad de soportar alta consistencia (NO consistencia eventual)

Estoy pensando en tener múltiples réplicas que se conectarán al mismo volumen (NAS en mi caso). Las instancias de Postgres se ubicarán detrás de un servicio como los microservicios de mi aplicación. La aplicación se conectará al servicio y no necesita saber con qué instancia de Postgres está hablando. Esto simplifica mucho mi arquitectura, ya que no tengo que preocuparme por configurar la replicación de Postgres.

Un problema en esta arquitectura es qué sucede con los datos si una instancia de Postgres deja de funcionar después de recibir una solicitud de escritura. Puedo presentar un intermediario de mensajes con reconocimiento del consumidor para manejar este escenario, pero eso tiene alguna implicación en el rendimiento.

A continuación se muestra un ejemplo de configuración de implementación de Postgres K8s. Tendré que agregar servicio, etc.

¿Cuáles son algunas trampas de esta arquitectura? ¿Alguien ha implementado algo similar?

 apiVersion: extensions/v1beta1 kind: Deployment metadata: name: postgres spec: replicas: 3 template: metadata: labels: app: postgres spec: containers: - name: postgres image: postgres:latest imagePullPolicy: "IfNotPresent" ports: - containerPort: 5432 envFrom: - configMapRef: name: postgres-config volumeMounts: - mountPath: /var/lib/postgresql/data name: postgredb volumes: - name: postgredb persistentVolumeClaim: claimName: postgres-pv-claim
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

No me queda completamente claro, pero parece que estás hablando de la conmutación por error del disco compartido.

Para responder a su pregunta, las trampas son:

  • Su NAS es un único punto de falla
  • Sus réplicas son réplicas en espera, por lo que no se pueden usar para escalar

Creo que para obtener escalabilidad y no solo tolerancia a fallas, necesitaría usar la replicación.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda