MCPcopy Index your code
hub / github.com/Netflix/zuul

github.com/Netflix/zuul @v3.6.18

Chat with this repo
repository ↗ · DeepWiki ↗ · release v3.6.18 ↗ · + Follow
3,191 symbols 11,254 edges 385 files 523 documented · 16% 3 cross-repo links updated 1d agov3.6.20 · 2026-07-04★ 14,0443 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Snapshot

Zuul

Zuul is an L7 application gateway that provides capabilities for dynamic routing, monitoring, resiliency, security, and more. Please view the wiki for usage, information, HOWTO, etc https://github.com/Netflix/zuul/wiki

Here are some links to help you learn more about the Zuul Project. Feel free to PR to add any other info, presentations, etc.


Articles from Netflix:

Zuul 1: http://techblog.netflix.com/2013/06/announcing-zuul-edge-service-in-cloud.html

Zuul 2:

https://netflixtechblog.com/open-sourcing-zuul-2-82ea476cb2b3

https://netflixtechblog.com/zuul-2-the-netflix-journey-to-asynchronous-non-blocking-systems-45947377fb5c

https://netflixtechblog.com/the-show-must-go-on-securing-netflix-studios-at-scale-19b801c86479


Netflix presentations about Zuul:

Strange Loop 2017 - Zuul 2: https://youtu.be/2oXqbLhMS_A

AWS re:Invent 2018 - Scaling push messaging for millions of Netflix devices: https://youtu.be/IdR6N9B-S1E


Slides from Netflix presentations about Zuul:

http://www.slideshare.net/MikeyCohen1/zuul-netflix-springone-platform

http://www.slideshare.net/MikeyCohen1/rethinking-cloud-proxies-54923218

https://github.com/strangeloop/StrangeLoop2017/blob/master/slides/ArthurGonigberg-ZuulsJourneyToNonBlocking.pdf

https://www.slideshare.net/SusheelAroskar/scaling-push-messaging-for-millions-of-netflix-devices


Projects Using Zuul:

https://cloud.spring.io/

https://jhipster.github.io/


Info and examples from various projects:

https://cloud.spring.io/spring-cloud-netflix/multi/multi__router_and_filter_zuul

http://www.baeldung.com/spring-rest-with-zuul-proxy

https://blog.heroku.com/using_netflix_zuul_to_proxy_your_microservices

http://blog.ippon.tech/jhipster-3-0-introducing-microservices/


Other blog posts about Zuul:

https://engineering.riotgames.com/news/riot-games-api-fulfilling-zuuls-destiny

https://engineering.riotgames.com/news/riot-games-api-deep-dive

http://instea.sk/2015/04/netflix-zuul-vs-nginx-performance/


How to release Zuul

This project uses a GitHub Action workflow for publishing a new release. The workflow is triggered by following these steps:

  1. Go to the Releases page here
  2. Draft a new release
  3. Click Select tag, then Create new tag (ex. `vX.Y.Z)
  4. Select Generate release notes and Click Publish release
  5. Approve the new release in the Actions tab

Extension points exported contracts — how you extend this code

FilterConstraint (Interface)
A filter constraint can be registered on Filter#constraints() to indicate that a given filter should not be run [7 implementers]
zuul-core/src/main/java/com/netflix/zuul/FilterConstraint.java
ResolverResult (Interface)
@author Argha C @since 2/25/21 Wraps the result of a resolution attempt. At this time, it doesn't encapsulate a collect [4 …
zuul-discovery/src/main/java/com/netflix/zuul/discovery/ResolverResult.java
ShouldFilter (Interface)
User: michaels@netflix.com Date: 5/7/15 Time: 3:31 PM [27 implementers]
zuul-core/src/main/java/com/netflix/zuul/filters/ShouldFilter.java
ResolverListener (Interface)
@author Argha C @since 2/25/21 Listener for resolver updates. [2 implementers]
zuul-discovery/src/main/java/com/netflix/zuul/resolver/ResolverListener.java
SyncZuulFilter (Interface)
User: michaels@netflix.com Date: 11/16/15 Time: 2:07 PM [17 implementers]
zuul-core/src/main/java/com/netflix/zuul/filters/SyncZuulFilter.java
Resolver (Interface)
@author Argha C @since 2/25/21 Resolves a key to a discovery result type. [1 implementers]
zuul-discovery/src/main/java/com/netflix/zuul/resolver/Resolver.java
NamedCount (Interface)
Interface for a named counter @author Mikey Cohen Date: 3/18/13 Time: 4:33 PM [6 implementers]
zuul-core/src/main/java/com/netflix/zuul/stats/monitoring/NamedCount.java
FilterFactory (Interface)
Interface to provide instances of ZuulFilter from a given class. [5 implementers]
zuul-core/src/main/java/com/netflix/zuul/FilterFactory.java

Core symbols most depended-on inside this repo

get
called by 609
zuul-core/src/main/java/com/netflix/zuul/filters/FilterRegistry.java
add
called by 315
zuul-core/src/main/java/com/netflix/zuul/message/Headers.java
set
called by 270
zuul-core/src/main/java/com/netflix/zuul/message/Headers.java
addLast
called by 160
zuul-core/src/main/java/com/netflix/netty/common/HttpRequestReadTimeoutHandler.java
getContext
called by 128
zuul-core/src/main/java/com/netflix/zuul/message/ZuulMessage.java
put
called by 120
zuul-core/src/main/java/com/netflix/zuul/filters/FilterRegistry.java
set
called by 94
zuul-core/src/main/java/com/netflix/netty/common/channel/config/ChannelConfig.java
size
called by 86
zuul-core/src/main/java/com/netflix/zuul/filters/FilterRegistry.java

Shape

Method 2,700
Class 424
Interface 47
Enum 20

Languages

Java100%

Modules by API surface

zuul-core/src/test/java/com/netflix/zuul/message/HeadersTest.java66 symbols
zuul-core/src/main/java/com/netflix/zuul/context/SessionContext.java59 symbols
zuul-core/src/main/java/com/netflix/zuul/filters/endpoint/ProxyEndpoint.java58 symbols
zuul-core/src/main/java/com/netflix/zuul/message/http/HttpRequestMessageImpl.java57 symbols
zuul-core/src/main/java/com/netflix/zuul/message/Headers.java45 symbols
zuul-core/src/main/java/com/netflix/zuul/passport/CurrentPassport.java43 symbols
zuul-integration-test/src/test/java/com/netflix/zuul/integration/BaseIntegrationTest.java41 symbols
zuul-core/src/test/java/com/netflix/zuul/netty/filter/BaseZuulFilterRunnerTest.java40 symbols
zuul-core/src/main/java/com/netflix/zuul/niws/RequestAttempt.java40 symbols
zuul-core/src/main/java/com/netflix/zuul/netty/filter/BaseZuulFilterRunner.java36 symbols
zuul-core/src/main/java/com/netflix/zuul/message/http/HttpResponseMessageImpl.java36 symbols
zuul-discovery/src/main/java/com/netflix/zuul/discovery/DiscoveryResult.java35 symbols

For agents

$ claude mcp add zuul \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact