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