Questions tagged [netflix-zuul]

Zuul is an edge service that provides dynamic routing, monitoring, resiliency, security, and more.

Zuul is the front door for all requests from devices and web sites to the backend of the Netflix streaming application.

As an edge service application, Zuul is built to enable dynamic routing, monitoring, resiliency and security, and more. It also has the ability to route requests to multiple Amazon Auto Scaling Groups as appropriate.

Zuul uses a range of different types of filters that enables us to quickly and nimbly apply functionality to our edge service. These filters help us perform the following functions:

  • Authentication and Security - identifying authentication requirements for each resource and rejecting requests that do not satisfy them.
  • Insights and Monitoring - tracking meaningful data and statistics at the edge in order to give us an accurate view of production.
  • Dynamic Routing - dynamically routing requests to different backend clusters as needed.
  • Stress Testing - gradually increasing the traffic to a cluster in order to gauge performance.
  • Load Shedding - allocating capacity for each type of request and dropping requests that go over the limit.
  • Static Response handling - building some responses directly at the edge instead of forwarding them to an internal cluster
  • Multiregion Resiliency - routing requests across AWS regions in order to diversify our ELB usage and move our edge closer to our members

References:

1217 questions
9
votes
5 answers

Adding Headers to Zuul when re-directing

I am trying to use Zuul to redirect calls to a downstream system somewhere else. In the re-direct, I need to add in a Header with necessary data for the api receiving the redirection to process. I can't seem to get the downstream system to detect…
Bocky
  • 483
  • 1
  • 7
  • 27
9
votes
1 answer

Zuul filter return value

What is the possible usage of ZuulFilter.run() return value? All the examples (for instance Spring example) return null. The official documentation says: Some arbitrary artifact may be returned. Current implementation ignores it. So why to have…
JeB
  • 11,653
  • 10
  • 58
  • 87
9
votes
1 answer

Spring Cloud Zuul: Apply filter only to specific route

I'm using Spring Cloud's Zuul to proxy some API requests to a few external servers. The proxying itself works well, but each service requires a (different) token provided in the request header. I've successfully written a simple pre filter for each…
Xcelled
  • 2,084
  • 3
  • 22
  • 40
9
votes
1 answer

Heroku load balancer vs Netflix zuul

According to this answer https://stackoverflow.com/a/41811770/2849613 I would like to get a little bit more information about best practices with microservices on Heroku. The question is which approach is better? Install every services as…
Maciej Treder
  • 11,866
  • 5
  • 51
  • 74
9
votes
1 answer

Zuul/Ribbon/Hystrix not retrying on different instance

Background I'm using Spring cloud Brixton.RC2, with Zuul and Eureka. I have one gateway service with @EnableZuulProxy and a book-service with a status method. Via configuration I can emulate work on the status method by sleeping a defined amount of…
9
votes
2 answers

How to exclude or ignore special paths or routes from zuul routing

Is it possible to exclude paths or matchers from the Zuul routing? The goal is that All requests to /contracts/** are routed to contract.example.com All requests to /audit/** are routed to audit.example.com All requests to /heartbeat/** or /sso/**…
d0x
  • 11,040
  • 17
  • 69
  • 104
8
votes
0 answers

Spring Zuul Gateway Swagger-UI For All Micro-services

(I'm sorry if I'm not making any sense, it's pretty late and I just can't seem to find an answer) We're using spring boot microservices, with a netflix zuul gateway, and we'd like to access all the endpoint listings there. We have swagger-ui set up…
8
votes
0 answers

Consider zuul route in Swagger documentation

is it possible to consider the zuul filter (manual or automatic) to show in the swagger? The issue is the following: we have a microservice which is the single point of entry for our application and which holds all swagger documentation. in fact it…
riddy
  • 501
  • 1
  • 4
  • 17
8
votes
1 answer

Building an URL with parts from the path

Using zuul, is it possible to configure routes to use parts from the path in the url? This meta code config using normal regexp explains what I'd like to do. zuul: routes: foobar: path: /foo/{.*}/bar/{.*} url:…
Andreas Wederbrand
  • 38,065
  • 11
  • 68
  • 78
8
votes
2 answers

Uploading large files via Zuul

I've faced a problem uploading big files through zuul. I'm using apache-commons file upload(https://commons.apache.org/proper/commons-fileupload/) to stream large files as well as I use zuul on the front. In my Spring Boot application I have…
dvelopp
  • 4,095
  • 3
  • 31
  • 57
8
votes
1 answer

Zuul route from root path

I have some microservices discovered with Eureka. Most of them provide some API. And I have "edge" service called "Gateway service" which is Zuul Proxy actually. The thing is that there is a web application. It was hosted by gateway service for a…
Valeriy Maslov
  • 111
  • 1
  • 1
  • 6
8
votes
4 answers

How to work with CORS in Zuul as API gateway + AngularJS + Microservices

I have an application which uses Zuul Netflix as API gateway, the architecture is below: The architecture is working fine, using the the browser and postman I can access different REST endpoint from the microservices (Service 1, 2 and 3). But when…
imprezzeb
  • 706
  • 1
  • 7
  • 18
8
votes
2 answers

Timeout Exception in Zuul based routing

I have got the below setup in which my Eureka server is running and few services created and registered with Eureka are running. All the service to service calls are happing using rest template which has been load balanced and every thing is working…
aj1984
  • 365
  • 1
  • 7
  • 19
8
votes
2 answers

Zuul proxy oAuth2 Unauthorized in Spring Boot

I have a microservice that is protected using oAuth2 called country-service. When I directly send a request to this service including my JWT bearer token everything works: server: port: 8081 spring: database: driverClassName:…
Jdruwe
  • 3,450
  • 6
  • 36
  • 57
8
votes
1 answer

How to forward all requests to specific version (of same service) during deployment using netflix?

I have 4 instance of the same service running on different hosts. I am deploying new version for that service node by node. While deployment, incoming requests get forwarded according to the load balancer to any version (host). Is there any way in…