ਇੱਕ API gateway ਇੱਕ ਸਿੰਗਲ ਐਂਟਰੀ ਪੁਆਇੰਟ ਹੈ ਜੋ ਤੁਹਾਡੀ ਮਾਈਕ੍ਰੋਸਰਵਿਸ ਦੇ ਸਾਮਣੇ ਬੈਠਾ ਹੋਇਆ ਹੈ। ਕਲਾਇਂਟ ਗੇਟਵੇ ਨੂੰ ਕਾਲ ਕਰਦੇ ਹਨ, ਜੋ ਬੇਨਤੀਆਂ ਨੂੰ ਸਹੀ ਸੇਵਾ ਤੱਕ ਭੇਜਦਾ ਹੈ ਅਤੇ ਕ੍ਰਾਸ-ਕਟਿੰਗ ਮਸਲਿਆਂ ਨੂੰ ਸੰਭਾਲਦਾ ਹੈ।
ਇੱਕ API gateway ਇੱਕ ਸਿੰਗਲ ਐਂਟਰੀ ਪੁਆਇੰਟ ਹੈ ਜੋ ਤੁਹਾਡੀ ਮਾਈਕ੍ਰੋਸਰਵਿਸ ਦੇ ਸਾਮਣੇ ਬੈਠਾ ਹੋਇਆ ਹੈ। ਕਲਾਇਂਟ ਗੇਟਵੇ ਨੂੰ ਕਾਲ ਕਰਦੇ ਹਨ, ਜੋ ਬੇਨਤੀਆਂ ਨੂੰ ਸਹੀ ਸੇਵਾ ਤੱਕ ਭੇਜਦਾ ਹੈ ਅਤੇ ਕ੍ਰਾਸ-ਕਟਿੰਗ ਮਸਲਿਆਂ ਨੂੰ ਸੰਭਾਲਦਾ ਹੈ।
/orders/* ਨੂੰ orders ਸਰਵਿਸ ਤੱਕ ਭੇਜੋ। ┌─────────────────────────────┐
Clients ─▶│ API Gateway │
│ auth · rate-limit · route │
└──┬──────────┬──────────┬────┘
▼ ▼ ▼
Orders Payments Users
# gateway routes
routes:
- path: /orders/**
service: orders-service # forward order traffic here
rateLimit: 100/min # throttle abusive clients
- path: /users/**
service: users-service
auth: required # gateway enforces auth before routing
ਗੇਟਵੇ ਇੱਕ single point of failure ਅਤੇ ਇੱਕ ਅਡਚਨ ਬਣ ਸਕਦਾ ਹੈ। ਇਸਨੂੰ ਉੱਚ ਪ੍ਰਾਪਤੀ ਨਾਲ ਚਲਾਓ ਅਤੇ ਇਸ ਵਿੱਚ ਵਪਾਰਕ ਤਰਕ ਰੱਖ ਕੇ ਰੱਖੋ।
ਇੱਕ ਗੇਟਵੇ ਪ੍ਰਤੀਯੇਕ ਸਰਵਿਸ ਨੂੰ auth, rate limiting, ਅਤੇ TLS ਨੂੰ ਦੁਬਾਰਾ ਲਾਗੂ ਕਰਨ ਤੋਂ ਮੁਕਤ ਕਰਦਾ ਹੈ, ਅਤੇ ਕਲਾਇੰਟ ਨੂੰ ਦਰਜਨਾਂ ਦੀ ਥਾਂ ਇੱਕ ਸਥਿਰ URL ਦਿੰਦਾ ਹੈ।
ਇਸ ਤੋਂ ਬਿਨਾ, ਕਲਾਇੰਟ ਨੂੰ ਹਰੇਕ ਸਰਵਿਸ ਦੀ ਐਡ੍ਰੈਸ ਪਤਾ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ ਅਤੇ ਕ੍ਰਾਸ-ਕਟਿੰਗ ਤਰਕ ਨੂੰ ਦੁਗਣਾ ਕਰਨਾ ਪਵੇ, ਜੋ ਜਲਦੀ ਹੀ ਪ੍ਰਬੰਧਨ ਯੋਗ ਨਹੀਂ ਹੋ ਜਾਂਦਾ।