Skip to main content

rfd--doctor-test-result

Overview

  • Namespace: rfd--doctor-test-result
  • Purpose: Referring Doctor Test Result Backend - PRODUCTION
  • Age: ~2 years 190 days (since April 2023)
  • Status: Active - Doctor test result access
  • Workloads: 2 deployments (all active)
  • Environment: PRODUCTION - Test result delivery to doctors

Architecture

Simple doctor test result system handling result tracking and delivery:

  • Main Application: REST API backend (1 replica)
  • Event Consumer: Test result tracking events (1 deployment)

Auto-Scaling Configuration

No Auto-Scaling Configured:

  • No HorizontalPodAutoscalers (HPAs)
  • No KEDA scaled objects
  • Fixed replica counts (all at 1 replica)

Workload Categories

Main Application (1 deployment)

NameReplicasStatusPurpose
rfd--doctor-test-result--be--app--prod1/1RunningMain test result API

Event Consumer (1 deployment)

NameReplicasStatusPurpose
consumer-doctor-test-result-tracking-event1/1RunningTest result tracking events

Services

NameTypeCluster IPPortsNodePortPurpose
rfd--doctor-test-result--be--app--prodNodePort10.8.23.2298032466Main test result API

Access & Management

View all resources:

kubectl get all -n rfd--doctor-test-result

Check main application:

kubectl get pods -n rfd--doctor-test-result | grep "app--prod"
kubectl logs -f deployment/rfd--doctor-test-result--be--app--prod -n rfd--doctor-test-result

Check consumer:

kubectl get pods -n rfd--doctor-test-result | grep consumer
kubectl logs -f deployment/rfd--doctor-test-result--be--consumer-doctor-test-result-tracking-event---prod -n rfd--doctor-test-result

Restart services:

# Restart main app
kubectl rollout restart deployment/rfd--doctor-test-result--be--app--prod -n rfd--doctor-test-result

# Restart consumer
kubectl rollout restart deployment/rfd--doctor-test-result--be--consumer-doctor-test-result-tracking-event---prod -n rfd--doctor-test-result

Monitoring

Resource usage:

kubectl top pods -n rfd--doctor-test-result --sort-by=memory
kubectl top pods -n rfd--doctor-test-result --sort-by=cpu

Events:

kubectl get events -n rfd--doctor-test-result --sort-by='.lastTimestamp' | head -20

Data Flow

Doctor Test Result Request

rfd--doctor-test-result--be--app--prod (NodePort 32466)

Main Test Result API

Database (external)

Events Published to Message Queue

consumer-doctor-test-result-tracking-event

Test result access tracking, analytics

Doctor Test Result Workflow

1. Test Result API

  • Referring doctor test result access
  • Test result queries
  • Result filtering
  • Patient test history
  • Result notifications

2. Tracking Event Processing

  • consumer-doctor-test-result-tracking-event tracks result access
  • View analytics
  • Access logging
  • Usage patterns
  • Audit trail

Production Considerations

High Availability

Single Points of Failure:

  • Main API: 1 replica (no HA)
  • Consumer: 1 replica (no HA)
  • Very simple architecture

Recommendations

  1. Main API Resilience:

    • Currently 1 replica (single point of failure)
    • Increase to 2+ replicas or add HPA
    • Important for doctor test result access
  2. Add Auto-Scaling:

    • Consider HPA for main API
    • Add KEDA for consumer based on queue depth
  3. Consumer Resilience:

    • Currently 1 replica
    • Consider 2 replicas for reliability
  4. Monitoring Priorities:

    • API response times
    • Test result query performance
    • Tracking event processing
    • Consumer lag
  5. Stability:

    • Very stable: 382 days since last deployment
    • Mature namespace (~2 years)

Troubleshooting

Main API issues:

kubectl logs -f deployment/rfd--doctor-test-result--be--app--prod -n rfd--doctor-test-result --tail=100
kubectl port-forward -n rfd--doctor-test-result service/rfd--doctor-test-result--be--app--prod 8080:80

Tracking consumer issues:

kubectl logs -f deployment/rfd--doctor-test-result--be--consumer-doctor-test-result-tracking-event---prod -n rfd--doctor-test-result
kubectl logs deployment/rfd--doctor-test-result--be--consumer-doctor-test-result-tracking-event---prod -n rfd--doctor-test-result --tail=100 | grep -i "error\|track\|fail"
kubectl rollout restart deployment/rfd--doctor-test-result--be--consumer-doctor-test-result-tracking-event---prod -n rfd--doctor-test-result

Performance Metrics

Current Scale

  • Main API: 1 replica (no HA)
  • Consumer: 1 replica
  • Total Active Pods: ~2 pods

Stability

  • Namespace Age: ~2 years (mature)
  • Recent Updates: 382 days ago (extremely stable)
  • All Single Replicas: No redundancy configured