Transaction Portal Service¶
Overview¶
The Transaction Portal Service is a microservices-based application designed to handle financial transactions with integrated fraud detection and risk assessment capabilities. The application demonstrates a hybrid service mesh deployment using Istio, combining both sidecar and ambient modes for different services.
Architecture¶
flowchart LR
TG[traffic-gen] --> TP
subgraph TP ["transaction-portal"]
TP_V1[v1]
TP_V2[v2]
end
subgraph AS ["account-service"]
AS_V1[v1]
AS_V2[v2]
end
subgraph FD ["fraud-detection"]
FD_V1[v1]
FD_V2[v2]
FD_V3[v3]
end
subgraph RA ["risk-assessment"]
RA_V1[v1]
RA_V2[v2]
end
TP --> AS
TP --> FD
TP --> RA
FD --> RA
style TP fill:#e1f5fe
style AS fill:#f3e5f5
style FD fill:#fff3e0
style RA fill:#e8f5e8
style TG fill:#fce4ec
Service Components¶
The application consists of four core microservices with varying health and performance characteristics:
Service Health Status¶
| Service | Version | Health Status | Error Rate | Response Delay | Error Codes | Notes |
|---|---|---|---|---|---|---|
| transaction-portal | v1 | ✅ 100% healthy | 0% | - | - | Primary service |
| v2 | ✅ 100% healthy | 0% | 100ms | - | Slight latency | |
| fraud-detection | v1 | ✅ 100% healthy | 0% | - | - | Optimal performance |
| v2 | ⚠️ Partial | 0.10% | 800ms | 504 | Gateway timeout issues | |
| v3 | ⚠️ Partial | 0.15% | 500ms | 500 | Internal server errors | |
| risk-assessment | v1 | ⚠️ Partial | 0.05% | - | 429 | Rate limiting active |
| v2 | ⚠️ Partial | 0.20% | 3000ms | 500 | High latency | |
| account-service | v1 | ✅ 100% healthy | 0% | - | - | Optimal performance |
| v2 | ⚠️ Partial | 1.00% | - | 503 | Service unavailable |
Deployment Configuration¶
The application uses Istio's hybrid mesh deployment model, strategically placing services in different modes based on their requirements:
a. Sidecar Mode Deployment¶
Services requiring enhanced observability and fine-grained traffic control:
- transaction-portal - Core transaction processing service
- risk-assessment - Risk evaluation and scoring service
b. Ambient Mode Deployment¶
Services deployed within the same cluster for simplified mesh participation:
- fraud-detection - Transaction fraud analysis service
- account-service - Account management and validation service
Quick Deployment¶
Deploy all services with a single command:
Deployment Verification¶
Verify the successful deployment of all services:
Check Namespaces¶
Expcted Output:NAME STATUS AGE
account-service Active 6h57m
cluster-autoscaler Active 3d9h
default Active 3d9h
fraud-detection Active 6h57m
istio-ingress Active 7h2m
istio-system Active 7h5m
kube-node-lease Active 3d9h
kube-public Active 3d9h
kube-system Active 3d9h
risk-assesment Active 6h57m
trafficgen-transaction Active 6h57m
transaction-portal Active 6h57m
Verify Service Deployments¶
1. Account Service:
Expected output:NAME READY STATUS RESTARTS AGE
account-service-v1-78cd9c6b88-nwr7d 1/1 Running 0 150m
account-service-v2-845c7d9f67-k9p2x 1/1 Running 0 150m
2. Fraud Detection Service:
Expected output:NAME READY STATUS RESTARTS AGE
fraud-detection-v1-68897dd99b-wq4j2 1/1 Running 0 174m
fraud-detection-v2-7646c9dcfd-x8q2c 1/1 Running 0 174m
fraud-detection-v3-9567e8aff4-m7n1k 1/1 Running 0 174m
3. Risk Assessment Service:
Expected output:NAME READY STATUS RESTARTS AGE
risk-assessment-v1-7566fd5d8c-r8fhm 2/2 Running 0 174m
risk-assessment-v2-8677g9e5f9-s9q3n 2/2 Running 0 174m
4. Transaction Portal Service:
Expected output:NAME READY STATUS RESTARTS AGE
transaction-portal-v1-5fc6644a45-g1h5j 2/2 Running 0 175m
transaction-portal-v2-6fc6755b56-h2gm6 2/2 Running 0 175m
5. Traffic Generator:
Expected output:Next Steps¶
After successful deployment, consider:
- Configuring traffic policies for load balancing
- Implementing circuit breakers for fault tolerance
- Establishing security policies and access controls