Evidence ledger 26 sources Checked 09 Sep 2026

Evidence ledger

One row per claim in The reference architecture Netflix retired: who published it, what grade it carries, when it was written, when the link was last checked, and the quote or figure it rests on. Nothing in the guide is cited from memory, so anything not in this table is not in the guide.

Field guide: Changing policy without redeploying: a decade of Netflix's service-communication stack, read from its own repositories. Research date 2026-09-09. Every URL below was fetched during that session.

A note on the shape of this ledger

The research environment for this dig could reach exactly two hosts: github.com and raw.githubusercontent.com. Every other host, including Netflix's own engineering blog, USENIX, arXiv, InfoQ and Hacker News, was refused by the network egress policy. That constraint decided the method: this guide is built only from artefacts that Netflix and its downstream consumers publish inside repositories, wikis, issue trackers, pull requests, release notes and the GitHub advisory database. It contains no engineering-blog posts, no conference talks and no papers, and where that absence changes what can be claimed, the guide says so.

The upside is that the tiers this leaves are the ones ordinary search never reaches: status notices with commit dates, closed-unmerged pull requests, operator-filed incident threads, and release notes that record what was dropped.

# Org Title Tier Published Checked URL Claim taken Supporting quote or figure
1 Netflix Ribbon README, "Project Status: On Maintenance" adr 2016-04-18 2026-09-09 https://github.com/Netflix/ribbon Netflix froze Ribbon and moved to gRPC for multi-language reasons "Recognizing these realities and deficiencies, we are placing Ribbon in maintenance mode... Our team has instead started building an RPC solution on top of gRPC. We are doing this transition for two main reasons: multi-language support and better extensibility/composability through request interceptors."
2 Netflix Ribbon README, component status list adr 2016-04-18 2026-09-09 https://github.com/Netflix/ribbon Several open-sourced Ribbon components were never used internally, and the ones that were are wrapped internally "ribbon-transport: not used"; "Even for the components deployed in production we have wrapped them in a Netflix internal http client and we are not adding new functionality"
3 Netflix Ribbon README, promised gRPC open source adr 2016-04-18 2026-09-09 https://github.com/Netflix/ribbon The gRPC load-balancing and discovery interceptors were promised as open source and never shipped "When we reach that level of confidence we hope to open-source this new approach. We don't expect this to happen before Q3 of 2016."
4 Netflix Commit history of Ribbon README.md source 2016-04-18 2026-09-09 https://github.com/Netflix/ribbon/commits/master/README.md The maintenance notice is datable to the day Commit ba0d2a1, 18 Apr 2016, "Add maintenance project status to README"
5 Netflix Ribbon open pull requests source n/a 2026-09-09 https://github.com/Netflix/ribbon/pulls?q=is%3Apr+is%3Aopen The README's offer to review community PRs is not borne out by the record 40 open pull requests; oldest visible #367 "Fix for RoundRobin in Zuul Proxy", 7 Feb 2018
6 Netflix Ribbon issue #243, "RestClient marked deprecated but still used in all the docs" source 2015-09-02 2026-09-09 https://github.com/Netflix/ribbon/issues/243 A documentation/replacement question has stayed open for eleven years Issue open since 2 Sep 2015, state open at check date
7 Netflix Hystrix README, "Hystrix Status" adr 2018-11-19 2026-09-09 https://github.com/Netflix/Hystrix Hystrix was frozen and Netflix redirected new work to adaptive approaches and resilience4j "Hystrix is no longer in active development, and is currently in maintenance mode."; "Netflix will no longer actively review issues, merge pull-requests, and release new versions of Hystrix."
8 Netflix Commit a7df971 adding the Hystrix status section source 2018-11-19 2026-09-09 https://github.com/Netflix/Hystrix/commit/a7df971 The freeze is datable, and its final version pinned to an internal one Adds "# Hystrix Status"; final release 1.5.18 aligned to internal 1.5.11
9 Netflix Hystrix wiki (home) casestudy wiki, last edited 2017 2026-09-09 https://github.com/Netflix/Hystrix/wiki The scale the library ran at inside Netflix "Today tens of billions of thread-isolated, and hundreds of billions of semaphore-isolated calls are executed via Hystrix every day at Netflix."
10 Netflix Hystrix pull request #2033, Java 11 thread-pool fix source opened 2022-11-12 2026-09-09 https://github.com/Netflix/Hystrix/pull/2033 A real defect fix stayed unmerged until the author deleted their fork Closed unmerged 11 Aug 2026 when the head repository was deleted; no maintainer explanation on the thread
11 Netflix Hystrix repository page source n/a 2026-09-09 https://github.com/Netflix/Hystrix A frozen project still carries a large dependent population and a queue nobody drains 24.5k stars, 4.7k forks, 6 open issues, 52 open pull requests at check date
12 Netflix Eureka wiki, home page notice adr wiki edit 2018-07-13 2026-09-09 https://github.com/Netflix/eureka/wiki The Eureka 2.0 rewrite was abandoned in the open "The existing open source work on eureka 2.0 is discontinued. The code base and artifacts that were released as part of the existing repository of work on the 2.x branch is considered use at your own risk."
13 Netflix Eureka wiki, "Eureka at a glance" source wiki 2026-09-09 https://github.com/Netflix/eureka/wiki/Eureka-at-a-glance Discovery is deliberately cached and lease-based, so client views lag reality "The clients from any zone can look up the registry information (happens every 30 seconds)"; "If the client cannot renew the lease for a few times, it is taken out of the server registry in about 90 seconds."
14 Netflix Eureka issue #1510, "TimedSupervisorTask: task supervisor rejected the task" postmortem 2023-08-07 2026-09-09 https://github.com/Netflix/eureka/issues/1510 A silently dead refresh thread turns a cache into stale routing for one pod Reported RejectedExecutionException, cache refresh stopped, "No route to host" for every call after a dependency was redeployed; eureka-client 1.10.17, Spring Cloud 3.1.2
15 Netflix Eureka issue #1073, "Eureka will disable expiration forever in some cases?" source 2019-05-30 2026-09-09 https://github.com/Netflix/eureka/issues/1073 Self-preservation can hold dead instances in the registry indefinitely "eureka will disable expiration, so there are 10 endpoints... unavailable"; "But what if this is a permanent state?"
16 Netflix Eureka releases source latest 2024-08-06 2026-09-09 https://github.com/Netflix/eureka/releases The surviving 2.x line is a Jakarta/Spring Boot compatibility line, not the abandoned rewrite v2.0.6 (23 Mar 2024), v1.10.19-rc.4 (6 Aug 2024); release notes describe Jakarta EE 9 and Spring Boot 3 support
17 Netflix Eureka repository page source n/a 2026-09-09 https://github.com/Netflix/eureka Discovery is the one library-era component still maintained 12.7k stars, 3.8k forks, 109 open issues; org listing shows "Updated Aug 24, 2026"
18 Netflix Zuul wiki, "How it works" source wiki 2026-09-09 https://github.com/Netflix/zuul/wiki/How-It-Works The gateway's filters are hot-loaded, which is the property that made it survivable "The source code for each Filter is written to a specified set of directories on the Zuul server that are periodically polled for changes. Updated filters are read from disk, dynamically compiled into the running server, and are invoked by Zuul for each subsequent request."
19 Netflix Zuul wiki, "How we use Zuul at Netflix" source wiki 2026-09-09 https://github.com/Netflix/zuul/wiki/How-We-Use-Zuul-At-Netflix The gateway is where operational policy is executed, and it composed the whole library stack Use cases include "route a specific customer or device to a separate API cluster for debugging" and automated stress testing "using dynamic configuration"; integrates Hystrix, Ribbon, Turbine and Archaius
20 Netflix Zuul issue #771, "Zuul 3 Improvements" adr 2020-04-11, closed not planned 2026-09-09 https://github.com/Netflix/zuul/issues/771 The plan to shed the library era was written down, then dropped as a plan and executed piecemeal Planned items include "Drop RX as an API type", "Remove Hard Dependency on Groovy, but provide adapter for loading Groovy filters", making the name resolver and load balancer pluggable to remove Eureka and Ribbon dependencies, Servo to Spectator, Archaius 0.7 to Archaius 2
21 Netflix Zuul release v4.0.0 source 2024-07-08 2026-09-09 https://github.com/Netflix/zuul/releases/tag/v4.0.0 Netflix removed its own reactive library from the gateway's API eight years after evangelising it "Zuul 4.0.0 replaces the RxJava Observable based async filter execution with CompletableFuture."
22 Netflix Zuul issue #2021, ByteBuf leaks after upgrade postmortem 2026-01-14, closed not planned 2026-09-09 https://github.com/Netflix/zuul/issues/2021 Externally-reported production regressions in the published gateway are not necessarily worked "LEAK: ByteBuf.release() was not called before it's garbage-collected" after upgrading 2.5.11 to 3.1.4; closed as not planned
23 Netflix concurrency-limits README adr repo updated 2026-01-16 2026-09-09 https://github.com/Netflix/concurrency-limits Netflix's stated reason for abandoning human-set limits "in large distributed systems that auto-scale this value quickly goes out of date and the service falls over by becoming non-responsive"; "we borrow from common TCP congestion control algorithms by equating a system's concurrency limit to a TCP congestion window"
24 Netflix Prana README source n/a 2026-09-09 https://github.com/Netflix/Prana The sidecar existed in 2014 purely to give non-JVM code the library stack, and was not used internally "Prana exposes Java based client libraries of various services like Eureka, Ribbon, Archaius over HTTP"; "The current implementation of this project is not used internally at Netflix and therefore updates to the open source have been slow."
25 Netflix Servo README source n/a 2026-09-09 https://github.com/Netflix/servo The telemetry client was superseded rather than frozen, with a migration target named "This project receives minimal maintenance to keep software that relies on it working. There is no active development or planned feature improvement."
26 Netflix Archaius README (2.x) source n/a 2026-09-09 https://github.com/Netflix/archaius The configuration plane is the survivor of the library era, and its purpose is changing behaviour without a restart "Traditionally applications require a restart whenever configuration changes... Through Archaius, code can have direct access to the most recent configuration without the need to restart."; "Not backwards compatible with 1.x"
27 Netflix Conductor README, discontinuation notice adr 2023-12-13 2026-09-09 https://github.com/Netflix/conductor Netflix handed an adopted OSS project back to the community "Effective December 13, 2023, Netflix will discontinue maintenance of Conductor OSS on GitHub."
28 Netflix Maestro README casestudy n/a 2026-09-09 https://github.com/Netflix/maestro The internal successor to the orchestrator, with its own scale figure "a general-purpose workflow orchestrator that provides a fully managed workflow-as-a-service (WAAS)"; "schedules hundreds of thousands of workflows, millions of jobs every day"
29 Conductor OSS / Orkes conductor-oss/conductor README source n/a 2026-09-09 https://github.com/conductor-oss/conductor The fork, not the origin, now carries maintenance "Conductor OSS is the continuation of the original Netflix Conductor repository after Netflix contributed the project to the open-source foundation"; "actively maintained by Orkes and the community"
30 GitHub Advisory Database GHSA-8gqp-hr9g-pg62 (CVE-2025-26074) source 2025-06-30 2026-09-09 https://github.com/advisories/GHSA-8gqp-hr9g-pg62 Abandonment moves the security burden to whoever forked, and it arrives Critical, CVSS 9.8, org.conductoross:conductor-core < 3.21.13, OS command injection through the ScriptEvaluator
31 Spring Cloud (VMware) Spring Cloud 2020.0 release notes adr GA 2021-01-27 2026-09-09 https://github.com/spring-cloud/spring-cloud-release/wiki/Spring-Cloud-2020.0-Release-Notes The downstream framework removed fourteen Netflix modules in one release, announced 13 months earlier "The following modules have been removed from spring-cloud-netflix": archaius, concurrency-limits, core, dependencies, hystrix (and dashboard, contract, stream), ribbon, sidecar, turbine (and turbine-stream), zuul, plus starters. "Support for ribbon, hystrix and zuul was removed"
32 Spring Cloud (VMware) spring-cloud-netflix issue #3652, "Eureka instance eviction is almost taking 5 mins" postmortem 2020-04-05 2026-09-09 https://github.com/spring-cloud/spring-cloud-netflix/issues/3652 The measured gap between configured lease expiry and actual eviction Instance stopped 12:59:40, evicted 13:02:26, roughly 2 min 46 s, with lease-expiration-duration-in-seconds=90, eviction timer 9 s and self-preservation disabled
33 Spring Cloud (VMware) spring-cloud-netflix issue #1785, Zuul connections stuck in CLOSE_WAIT postmortem 2017-03-16 2026-09-09 https://github.com/spring-cloud/spring-cloud-netflix/issues/1785 Layered pools with an infinite TTL exhaust and block the gateway "some connections end up in a CLOSE_WAIT state"; "The TTL of the default configuration is set to -1, i.e. infinite"; pool saturating despite maxPerRoute of 20
34 Spring Cloud (VMware) spring-cloud-netflix issues matching hystrix/ribbon/retry source 2018-2021 2026-09-09 https://github.com/spring-cloud/spring-cloud-netflix/issues?q=is%3Aissue+hystrix+timeout+ribbon+retry The layered-timeout class is a recurring operator problem, not a one-off Nine issues including #3831 "ZuulException: Hystrix Readed time out" (7 Jun 2021), #3303 "Greenwich.M3 ribbon retry does not work", #2987 "Potential bug with timeout warnings in Ribbon and Hystrix"
35 gRPC Proposal A27, "xDS-Based Global Load Balancing" adr last updated 2020-03-18 2026-09-09 https://github.com/grpc/proposal/blob/master/A27-xds-global-load-balancing.md The industry's answer to in-process routing policy is a pub/sub control plane, not a fatter client Author Mark D. Roth; gRPC moves from grpclb to xDS because "the popular Envoy proxy uses the xDS API for many types of configuration, including load balancing, and that API is evolving into a standard"
36 resilience4j resilience4j repository source n/a 2026-09-09 https://github.com/resilience4j/resilience4j The named successor is a decorator library with no runtime of its own "a fault tolerance library designed for functional programming"; "you have the choice to select the decorators you need and nothing else"; 10.8k stars, 1.5k forks
37 Netflix Netflix organisation repository listing source n/a 2026-09-09 https://github.com/orgs/Netflix/repositories?sort=updated The current shape of the estate: what is still touched and what is not Zuul updated 2 Sep 2026, Eureka 24 Aug 2026, Archaius 29 Jul 2026, concurrency-limits 16 Jan 2026, netflix-commons 17 Dec 2025, Hystrix 17 Dec 2025, Conductor archived, updated 22 Dec 2023
38 Netflix Netflix organisation repository search for "grpc" and "rpc" source n/a 2026-09-09 https://github.com/orgs/Netflix/repositories?q=grpc The 2016 promise to open source the gRPC replacement has no public artefact ten years on Search for "grpc" returns only the archived Conductor; search for "rpc" returns "No repositories matched your search"
39 Netflix Falcor repository source n/a 2026-09-09 https://github.com/Netflix/falcor The pre-GraphQL API-shaping library still exists but stopped being the direction 10.6k stars, 444 forks, v2.0 described as the current stable release
40 Netflix DGS framework README source n/a 2026-09-09 https://github.com/Netflix/dgs-framework The current API layer is a GraphQL framework tied to Spring Boot versions, with a stated support horizon DGS 11+ supports Spring Boot 4 and is "Actively maintained"; 10.x backports "until the second half of 2026"; 5.x "No longer maintained"
41 Netflix RxNetty repository source n/a 2026-09-09 https://github.com/Netflix/RxNetty The transport layer under the reactive era stopped being developed "0.5.x is the current release branch. This is no longer under active development but will have major patches applied and will accept pull requests."

Tier mix

Tier Count
postmortem (operator-filed incident threads) 4
source (repositories, issues, PRs, releases, listings) 26
adr (status notices, design proposals, release-removal records) 9
casestudy (scale figures published in-repo) 2
blog / paper / talk 0, and the reason is stated above

Two distinct hosts, github.com and raw.githubusercontent.com, for the same reason. Five organisations are represented: Netflix, Spring Cloud (VMware), gRPC, resilience4j and Conductor OSS/Orkes, plus the GitHub Advisory Database.