expressgatewayexpress-gateway

Express Gateway degraded causing huge delays on requests


I have a Gateway configured to handle some services, but there is a huge performance issue and I don't know how can I address this. This is the config for this particular service:

http:
    port: 3020
    hostname: 'xxxx.prod.xx.xxx.net'
apiEndpoints:
    laPrdTest:
        host: 'xxx-xxxxxxxx.xxxxxxxx.com'
        paths: '/api/v1/esign/*'
serviceEndpoints:
    laPrdTest:
        urls:
            - http://xxxxxx-app1.prd.xxx.xxxxxxxx.net
            - http://xxxxxx-app2.prd.xxx.xxxxxxxx.net
policies:
    - basic-auth
    - cors
    - expression
    - log
    - jwt
    - proxy
    - rate-limit
pipelines:
laPrdTest:
        apiEndpoints:
            - laPrdTest
        policies:
            - cors:
            - log:
                - action:
                    message: ${req.method} ${req.originalUrl} ${JSON.stringify(req.headers)}
            - rate-limit:
                - action:
                    max: 50
                    windowMs: 120000
                    rateLimitBy: "${req.ip}"
            - proxy:
                - action:
                    serviceEndpoint: laPrdTest
                    changeOrigin: true

Check on this gif so you can see how this is very bad on performance:

Bad Performance Express Gateway

And this is a call directly to the service API with no performance issue:

No Gateway

Why is this happening? What can I do to solve this issue?


Solution

  • Finally I couldn't use this anymore an move to do the proxy through Nginx directly. Any request made through the Gateway it took seconds almost minutes and now using Nginx as a gateway it takes miliseconds.