Gateway Architecture Overview
PoCAT Gateway five-stage pipeline, instance sizing, and operational KPIs.
PoCAT Gateway is the single entry point for enterprise integration. Every request passes through Ingress → Route Resolve → Filter Chain → Servit Execution → Egress; each layer must be observable, scalable, and fault-isolated independently.
Before you begin
Understand deployment topology (Kubernetes/Swarm) and XML paths (
config/, routes/), then adopt the KPI/SLO tables in this guide as team standards.
Pipeline layers
| Layer | Core responsibility | Ops KPI | Failure signal | Recommended action |
|---|---|---|---|---|
| Ingress | Protocol intake, parsing, basic validation | RPS, 4xx ratio | Accept backlog growth | Scale thread/connection pools |
| Route Resolve | Rule matching, upstream selection | Match success rate | Fallback route spike | Review priority and rule diffs |
| Filter Chain | Auth, validation, transform, audit | Filter latency p95 | 401/403 or filter delay | Check chain order and cache |
| Servit | Domain logic execution | Success ratio, P95 | Business error code spike | Validate upstream and schema |
| Egress | External system calls | Timeout, retry count | Downstream timeout spike | Tune CB, queue, timeouts |
Size options (Gateway instances)
Scale JVM heap, threads, and connection pools by traffic tier. Production should use Medium or larger.
| Size | Approx. RPS | JVM Heap | Replica (prod) | Notes |
|---|---|---|---|---|
| Small | ~500 | 2 GiB | 2 | Dev/staging |
| Medium | ~2,000 | 4 GiB | 3 | Typical production |
| Large | ~8,000 | 8 GiB | 3+ | HPA enabled |
| Extra Large | 8,000+ | 16 GiB+ | 5+ | Dedicated nodes, anti-affinity |
Update gateway sizing
- Collect P95 latency, CPU, and heap over a 7-day window.
- Pick size with ~20% burst headroom over peak RPS.
- Update resource and pool settings in
config/gateway-config.xml. - Load-test in staging, then roll out with
maxUnavailable: 0. - After deploy, verify error rate and P95 stay within SLO for 30 minutes.
Recommended design principles
- Keep security policy in filters; handle domain policy in Servits.
- Manage routing declaratively in XML—avoid hard-coding in application code.
- Generate a Correlation ID per request and propagate it downstream.