SlideShare a Scribd company logo
Networking in .NET 7.0 and
YARP
WUG Days Brno 2022
Karel Zikmund – @ziki_cz
Agenda
• HTTP/3 and QUIC
• Evolution from HTTP/1.1 and HTTP/2 – key differences
• Advantages
• .NET 7.0 implementation
• Future in .NET 8.0+
• HTTP/2 WebSockets
• YARP – Yet Another Reverse Proxy
• What is Reverse Proxy
• When you need Reverse Proxy?
• YARP in production
HTTP versions
• What’s difference between:
• HTTP/1.1
• HTTP/2
• What’s difference between:
• HTTP/2
• HTTP/3
HTTP/1.1
• HTTP vs. HTTPS
• Textual protocol
• Multiple connections
• 3-way handshake (3 RTT)
• TCP – 1 RTT – SYN/ACK
• TLS 1.2 – 2 RTTs (Hello + Key)
• TLS 1.3 (2 RTT)
• TCP slow start – Window ramp up
• HTTP Pipelining
HTTP/2
• Binary protocol (packets with frames)
• Multiplexing streams on 1 connection
• TCP-based
• 3 RTT (or 2 RTT with TLS 1.3)
• Can be technically without SSL, unencrypted
• Head of the line blocking
• Packet loss blocks all streams, not just the one with lost packet
HTTP/3
• Binary protocol (packets with frames)
• Multiplexing streams on 1 connection
• QUIC-based
• QUIC = UDP + TLS
• 1 RTT
• 25.1% of all websites
• Major browsers – https://caniuse.com/http3
HTTP/3 – Advantages
• Unreliable networks – last mile network
• No head of the line blocking
• Improved loss recovery
• 0-RTT
• Keys from previous connection
• Dangerous – replay attacks
• Idempotent requests (e.g. harmless GET)
• Connection ID
• Transfer between networks
• Requires server support – by default in .NET
QUIC – Pros and Cons
• Multi-path … also for HTTP/3
• RFC in progress
• Increase bandwidth (multiple routes)
• Decrease latency (duplicated traffic) – streaming
• Unreliable delivery
• Not in .NET yet
• Extensible and versioned
• Network appliances (routers, proxies) – problems with UDP
HTTP/3 & QUIC – .NET support
• msquic-based – http://github.com/microsoft/msquic
• OSS, x-plat
• HTTP/3
• .NET 7.0 – full support (client and server) on Windows and Linux
• Performance – on par with HTTP/2
• QUIC APIs
• .NET 7.0 – GA quality
• API shape is Preview (reserve right to change it in .NET 8.0)
• Looking for consumers to validate
.NET Usage
• HTTP/3 opt-in
• HttpClient – defaults to HTTP/1.1
• HttpRequestMessage.Version = 3.0
• QUIC: EnablePreviewFeatures
.NET 8.0+
• HTTP/3 enabled by default in Kestrel
• More Performance work
• Finalize QUIC API shape
• Additional non-critical features
• 0-RTT (as opt-in)
• Support macOS, Mobile platforms (iOS, Android)
• Additional protocols and extensions
• gRPC over HTTP/3
• Multi-path
• WebTransport
• QUIC Datagram
HTTP/2 WebSockets
• Same WebSocket protocol, just over HTTP/2
• Pros:
• Reuse HTTP/2 connection – better perf
• Client:
HTTP/2 WebSockets
• Chrome and Edge – enabled by default
• Uses CONNECT word instead of GET – routes may need update
WebSockets Future
• HTTP/3 WebSockets
• WebTransport – WebSockets done right
• Session with multiple QUIC streams
• Multiple sessions on HTTP/3 connection
• Prototype in progress
YARP
• Yet Another Reverse Proxy
• https://microsoft.github.io/reverse-proxy
• OSS: https://github.com/microsoft/reverse-proxy
• Layer-7 proxy – terminates & re-issues requests
• Other popular reverse proxies: Nginx, HAProxy, Envoy, Ocelot, …
YARP and reverse proxies
• Who used YARP?
• Who used some Reverse Proxy?
• Who knows what a reverse proxy is?
What is a reverse proxy
• Public endpoint
• Load balancing between backend servers
• Can offload work from backend servers: Encryption, Auth, Compression, Caching
Reverse
proxy
contoso.com/orders
contoso.com/store
woodgrovebank.com
Public Internet Private Network
Reverse proxies – Why to use them?
• Load balancing
• A/B testing, or Version rollout
• Health checks, health status
• Indirection between URL-space and backend implementation
• API Management – consistent API surface for customers
• Offloading from backend
• Auth, compression, encryption, static files (like CDN)
• Authentication migration
• Cloud to On-prem reverse tunnel (*)
• Route local traffic to remote servers (single point of control and config)
• k8s and Service Fabric ingress control
• .NET Framework migration to .NET Core
YARP
• Library, not EXE
• 2 releases: 1.0 & 1.1
• .NET 5.0+ support
• Extensibility in C#, layered
• x-plat
• Great perf
• Latest protocols (gRPC , HTTP/3, HTTP/2 WebSockets)
• Drives innovation and perf improvements into .NET
YARP – docs
https://microsoft.github.io/reverse-proxy
YARP – Azure App Service
• Blog post
• 160B+ requests/day … 1.9M RPS
• 14M+ host names
• .NET 6.0 + YARP
• Why?
• Perf improvements
• 80% in throughput in perf tests
• Lower CPU usage
• More extensibility points
• New customer scenarios:
• gRPC, HTTP/3, per-host cipher suite config, custom error pages, …
YARP – Dynamics 365
• Announced 2021 November at .NET Conf
• >100B requests/month ... 38.5K RPS
• >7.5PB/month … transferred data
• ~700 instances of YARP
• Original authors
• Started on .NET Core 3.1
YARP – Architecture with pipeline
ASP.NET
Routing
TLS Termination
Auth2
Static Files
Other routes
Config
Session
Affinity
Load
Balancing
Request
Transformations
Http
Forwarder
Destination
Enumeration
HttpClient*
Health
checks
Specific
destination
server
http(s)
http(s)
Proxy process
Kestrel
Passive
Health
Checks
YARP – Architecture Http Forwarder
ASP.NET
Routing†
TLS Termination
Auth2
Static Files
Other routes
Http
Forwarder
HttpClient*
Specific
destination
server
http(s)
http(s)
Proxy process
Kestrel
Your custom
handler(s)
Request
Transformations
Site Information
/ Cache
Load balancing
Health checks
Summary
• HTTP/3 and QUIC support in .NET 7.0
• GA quality
• QUIC API shape may change in .NET 8.0
• Pro: Unreliable networks, Mobile scenarios
• HTTP/2 WebSockets
• Client needs new API call to reuse connection
• Server needs ConnectMethod change
• YARP
• Library, extensible via C#
• Micro-services world needs reverse proxies
@ziki_cz

More Related Content

PDF
Power-up services with gRPC
PPT
Peerto Peer Networks
PPT
Protecting web aplications with machine learning and security fabric
PDF
Kafka used at scale to deliver real-time notifications
PPTX
Tiki.vn - How we scale as a tech startup
PPT
JavaScript Testing: Mocha + Chai
PDF
WebAssembly Fundamentals
PPTX
Blazor and more.pptx
Power-up services with gRPC
Peerto Peer Networks
Protecting web aplications with machine learning and security fabric
Kafka used at scale to deliver real-time notifications
Tiki.vn - How we scale as a tech startup
JavaScript Testing: Mocha + Chai
WebAssembly Fundamentals
Blazor and more.pptx

What's hot (20)

PPTX
Introduction to couchbase
PDF
gRPC vs REST: let the battle begin!
PPTX
High Availability Content Caching with NGINX
PDF
Nginx Architecture
PDF
Windows MSCS 운영 및 기타 설치 가이드
PPTX
Android and REST
PDF
Android Crash analysis and The Dalvik Garbage collector – Tools and Tips
PPTX
HAProxy
PPTX
EVCache at Netflix
PDF
Nova: Openstack Compute-as-a-service
PDF
Explore the Latest on WSO2 Identity Server 5.11
PDF
gRPC: The Story of Microservices at Square
PDF
Introduction to Ruby
PPTX
Introduction to Node js
PDF
Spring I/O 2012: Natural Templating in Spring MVC with Thymeleaf
PDF
The Open vSwitch and OVN Projects
PDF
The evolution of asynchronous javascript
PDF
Microservices with Java, Spring Boot and Spring Cloud
PPTX
Microservices
ODT
Load Balancing with HAproxy
Introduction to couchbase
gRPC vs REST: let the battle begin!
High Availability Content Caching with NGINX
Nginx Architecture
Windows MSCS 운영 및 기타 설치 가이드
Android and REST
Android Crash analysis and The Dalvik Garbage collector – Tools and Tips
HAProxy
EVCache at Netflix
Nova: Openstack Compute-as-a-service
Explore the Latest on WSO2 Identity Server 5.11
gRPC: The Story of Microservices at Square
Introduction to Ruby
Introduction to Node js
Spring I/O 2012: Natural Templating in Spring MVC with Thymeleaf
The Open vSwitch and OVN Projects
The evolution of asynchronous javascript
Microservices with Java, Spring Boot and Spring Cloud
Microservices
Load Balancing with HAproxy
Ad

Similar to WUG Days 2022 Brno - Networking in .NET 7.0 and YARP -- Karel Zikmund (20)

PPTX
.NET Conf 2022 - Networking in .NET 7
PDF
A new Internet? Intro to HTTP/2, QUIC, DoH and DNS over QUIC
PPTX
Webstandards_TechEdIndia
PDF
IE 8 et les standards du Web - Chris Wilson - Paris Web 2008
PPTX
Connected Web Systems
PDF
A New Internet? Introduction to HTTP/2, QUIC and DOH
PDF
University of Delaware - Improving Web Protocols (early SPDY talk)
PDF
Mike Taulty DevDays 2010 Silverlight 4 Networking
PDF
SPDY and HTTP/2
PPTX
ASP.NET Mvc 4 web api
PPT
Chapter 2
PPTX
PPTX
PDF
From zero to almost rails in about a million slides...
PDF
SignalR
PPTX
.NET Core Today and Tomorrow
PPTX
From port 80 to applications
PPTX
Web API or WCF - An Architectural Comparison
PPTX
Real-time Communications with SignalR
PPT
Application layer protocols topmost layer
.NET Conf 2022 - Networking in .NET 7
A new Internet? Intro to HTTP/2, QUIC, DoH and DNS over QUIC
Webstandards_TechEdIndia
IE 8 et les standards du Web - Chris Wilson - Paris Web 2008
Connected Web Systems
A New Internet? Introduction to HTTP/2, QUIC and DOH
University of Delaware - Improving Web Protocols (early SPDY talk)
Mike Taulty DevDays 2010 Silverlight 4 Networking
SPDY and HTTP/2
ASP.NET Mvc 4 web api
Chapter 2
From zero to almost rails in about a million slides...
SignalR
.NET Core Today and Tomorrow
From port 80 to applications
Web API or WCF - An Architectural Comparison
Real-time Communications with SignalR
Application layer protocols topmost layer
Ad

More from Karel Zikmund (20)

PPTX
NDC London 2020 - Challenges of Managing CoreFx Repo -- Karel Zikmund
PPTX
NDC Sydney 2019 - Async Demystified -- Karel Zikmund
PDF
.NET Core Summer event 2019 in Vienna, AT - .NET 5 - Future of .NET on Mobile...
PPTX
.NET Core Summer event 2019 in Linz, AT - War stories from .NET team -- Karel...
PPTX
.NET Core Summer event 2019 in Brno, CZ - Async demystified -- Karel Zikmund
PPTX
.NET Core Summer event 2019 in Brno, CZ - .NET Core Networking stack and perf...
PPTX
.NET Core Summer event 2019 in Brno, CZ - War stories from .NET team -- Karel...
PPTX
.NET Core Summer event 2019 in Prague, CZ - War stories from .NET team -- Kar...
PPTX
.NET Core Summer event 2019 in Vienna, AT - War stories from .NET team -- Kar...
PPTX
.NET Core Summer event 2019 in NL - War stories from .NET team -- Karel Zikmund
PPTX
NDC Oslo 2019 - War stories from .NET team -- Karel Zikmund
PPTX
DotNext 2017 in Moscow - Challenges of Managing CoreFX repo -- Karel Zikmund
PPTX
DotNext 2017 in Moscow - .NET Core Networking stack and Performance -- Karel ...
PPTX
.NET MeetUp Brno 2017 - Microsoft Engineering teams in Europe -- Karel Zikmund
PPTX
.NET MeetUp Brno 2017 - Xamarin .NET internals -- Marek Safar
PPTX
.NET MeetUp Brno - Challenges of Managing CoreFX repo -- Karel Zikmund
PPTX
.NET Fringe 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund
PPTX
.NET MeetUp Prague 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund
PPTX
.NET MeetUp Prague 2017 - .NET Standard -- Karel Zikmund
PPTX
.NET MeetUp Amsterdam 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund
NDC London 2020 - Challenges of Managing CoreFx Repo -- Karel Zikmund
NDC Sydney 2019 - Async Demystified -- Karel Zikmund
.NET Core Summer event 2019 in Vienna, AT - .NET 5 - Future of .NET on Mobile...
.NET Core Summer event 2019 in Linz, AT - War stories from .NET team -- Karel...
.NET Core Summer event 2019 in Brno, CZ - Async demystified -- Karel Zikmund
.NET Core Summer event 2019 in Brno, CZ - .NET Core Networking stack and perf...
.NET Core Summer event 2019 in Brno, CZ - War stories from .NET team -- Karel...
.NET Core Summer event 2019 in Prague, CZ - War stories from .NET team -- Kar...
.NET Core Summer event 2019 in Vienna, AT - War stories from .NET team -- Kar...
.NET Core Summer event 2019 in NL - War stories from .NET team -- Karel Zikmund
NDC Oslo 2019 - War stories from .NET team -- Karel Zikmund
DotNext 2017 in Moscow - Challenges of Managing CoreFX repo -- Karel Zikmund
DotNext 2017 in Moscow - .NET Core Networking stack and Performance -- Karel ...
.NET MeetUp Brno 2017 - Microsoft Engineering teams in Europe -- Karel Zikmund
.NET MeetUp Brno 2017 - Xamarin .NET internals -- Marek Safar
.NET MeetUp Brno - Challenges of Managing CoreFX repo -- Karel Zikmund
.NET Fringe 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund
.NET MeetUp Prague 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund
.NET MeetUp Prague 2017 - .NET Standard -- Karel Zikmund
.NET MeetUp Amsterdam 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund

Recently uploaded (20)

PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PPTX
Essential Infomation Tech presentation.pptx
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
Digital Strategies for Manufacturing Companies
PPTX
Transform Your Business with a Software ERP System
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
System and Network Administraation Chapter 3
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
top salesforce developer skills in 2025.pdf
PDF
AI in Product Development-omnex systems
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Odoo Companies in India – Driving Business Transformation.pdf
Which alternative to Crystal Reports is best for small or large businesses.pdf
Operating system designcfffgfgggggggvggggggggg
Upgrade and Innovation Strategies for SAP ERP Customers
Essential Infomation Tech presentation.pptx
VVF-Customer-Presentation2025-Ver1.9.pptx
Digital Strategies for Manufacturing Companies
Transform Your Business with a Software ERP System
Design an Analysis of Algorithms II-SECS-1021-03
wealthsignaloriginal-com-DS-text-... (1).pdf
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PTS Company Brochure 2025 (1).pdf.......
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Internet Downloader Manager (IDM) Crack 6.42 Build 41
System and Network Administraation Chapter 3
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
top salesforce developer skills in 2025.pdf
AI in Product Development-omnex systems
CHAPTER 2 - PM Management and IT Context
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free

WUG Days 2022 Brno - Networking in .NET 7.0 and YARP -- Karel Zikmund

  • 1. Networking in .NET 7.0 and YARP WUG Days Brno 2022 Karel Zikmund – @ziki_cz
  • 2. Agenda • HTTP/3 and QUIC • Evolution from HTTP/1.1 and HTTP/2 – key differences • Advantages • .NET 7.0 implementation • Future in .NET 8.0+ • HTTP/2 WebSockets • YARP – Yet Another Reverse Proxy • What is Reverse Proxy • When you need Reverse Proxy? • YARP in production
  • 3. HTTP versions • What’s difference between: • HTTP/1.1 • HTTP/2 • What’s difference between: • HTTP/2 • HTTP/3
  • 4. HTTP/1.1 • HTTP vs. HTTPS • Textual protocol • Multiple connections • 3-way handshake (3 RTT) • TCP – 1 RTT – SYN/ACK • TLS 1.2 – 2 RTTs (Hello + Key) • TLS 1.3 (2 RTT) • TCP slow start – Window ramp up • HTTP Pipelining
  • 5. HTTP/2 • Binary protocol (packets with frames) • Multiplexing streams on 1 connection • TCP-based • 3 RTT (or 2 RTT with TLS 1.3) • Can be technically without SSL, unencrypted • Head of the line blocking • Packet loss blocks all streams, not just the one with lost packet
  • 6. HTTP/3 • Binary protocol (packets with frames) • Multiplexing streams on 1 connection • QUIC-based • QUIC = UDP + TLS • 1 RTT • 25.1% of all websites • Major browsers – https://caniuse.com/http3
  • 7. HTTP/3 – Advantages • Unreliable networks – last mile network • No head of the line blocking • Improved loss recovery • 0-RTT • Keys from previous connection • Dangerous – replay attacks • Idempotent requests (e.g. harmless GET) • Connection ID • Transfer between networks • Requires server support – by default in .NET
  • 8. QUIC – Pros and Cons • Multi-path … also for HTTP/3 • RFC in progress • Increase bandwidth (multiple routes) • Decrease latency (duplicated traffic) – streaming • Unreliable delivery • Not in .NET yet • Extensible and versioned • Network appliances (routers, proxies) – problems with UDP
  • 9. HTTP/3 & QUIC – .NET support • msquic-based – http://github.com/microsoft/msquic • OSS, x-plat • HTTP/3 • .NET 7.0 – full support (client and server) on Windows and Linux • Performance – on par with HTTP/2 • QUIC APIs • .NET 7.0 – GA quality • API shape is Preview (reserve right to change it in .NET 8.0) • Looking for consumers to validate
  • 10. .NET Usage • HTTP/3 opt-in • HttpClient – defaults to HTTP/1.1 • HttpRequestMessage.Version = 3.0 • QUIC: EnablePreviewFeatures
  • 11. .NET 8.0+ • HTTP/3 enabled by default in Kestrel • More Performance work • Finalize QUIC API shape • Additional non-critical features • 0-RTT (as opt-in) • Support macOS, Mobile platforms (iOS, Android) • Additional protocols and extensions • gRPC over HTTP/3 • Multi-path • WebTransport • QUIC Datagram
  • 12. HTTP/2 WebSockets • Same WebSocket protocol, just over HTTP/2 • Pros: • Reuse HTTP/2 connection – better perf • Client:
  • 13. HTTP/2 WebSockets • Chrome and Edge – enabled by default • Uses CONNECT word instead of GET – routes may need update
  • 14. WebSockets Future • HTTP/3 WebSockets • WebTransport – WebSockets done right • Session with multiple QUIC streams • Multiple sessions on HTTP/3 connection • Prototype in progress
  • 15. YARP • Yet Another Reverse Proxy • https://microsoft.github.io/reverse-proxy • OSS: https://github.com/microsoft/reverse-proxy • Layer-7 proxy – terminates & re-issues requests • Other popular reverse proxies: Nginx, HAProxy, Envoy, Ocelot, …
  • 16. YARP and reverse proxies • Who used YARP? • Who used some Reverse Proxy? • Who knows what a reverse proxy is?
  • 17. What is a reverse proxy • Public endpoint • Load balancing between backend servers • Can offload work from backend servers: Encryption, Auth, Compression, Caching Reverse proxy contoso.com/orders contoso.com/store woodgrovebank.com Public Internet Private Network
  • 18. Reverse proxies – Why to use them? • Load balancing • A/B testing, or Version rollout • Health checks, health status • Indirection between URL-space and backend implementation • API Management – consistent API surface for customers • Offloading from backend • Auth, compression, encryption, static files (like CDN) • Authentication migration • Cloud to On-prem reverse tunnel (*) • Route local traffic to remote servers (single point of control and config) • k8s and Service Fabric ingress control • .NET Framework migration to .NET Core
  • 19. YARP • Library, not EXE • 2 releases: 1.0 & 1.1 • .NET 5.0+ support • Extensibility in C#, layered • x-plat • Great perf • Latest protocols (gRPC , HTTP/3, HTTP/2 WebSockets) • Drives innovation and perf improvements into .NET
  • 21. YARP – Azure App Service • Blog post • 160B+ requests/day … 1.9M RPS • 14M+ host names • .NET 6.0 + YARP • Why? • Perf improvements • 80% in throughput in perf tests • Lower CPU usage • More extensibility points • New customer scenarios: • gRPC, HTTP/3, per-host cipher suite config, custom error pages, …
  • 22. YARP – Dynamics 365 • Announced 2021 November at .NET Conf • >100B requests/month ... 38.5K RPS • >7.5PB/month … transferred data • ~700 instances of YARP • Original authors • Started on .NET Core 3.1
  • 23. YARP – Architecture with pipeline ASP.NET Routing TLS Termination Auth2 Static Files Other routes Config Session Affinity Load Balancing Request Transformations Http Forwarder Destination Enumeration HttpClient* Health checks Specific destination server http(s) http(s) Proxy process Kestrel Passive Health Checks
  • 24. YARP – Architecture Http Forwarder ASP.NET Routing† TLS Termination Auth2 Static Files Other routes Http Forwarder HttpClient* Specific destination server http(s) http(s) Proxy process Kestrel Your custom handler(s) Request Transformations Site Information / Cache Load balancing Health checks
  • 25. Summary • HTTP/3 and QUIC support in .NET 7.0 • GA quality • QUIC API shape may change in .NET 8.0 • Pro: Unreliable networks, Mobile scenarios • HTTP/2 WebSockets • Client needs new API call to reuse connection • Server needs ConnectMethod change • YARP • Library, extensible via C# • Micro-services world needs reverse proxies @ziki_cz

Editor's Notes

  • #2: About me: Work on .NET team for 17y For last 5 years Manager on Networking team and for YARP (cross-collaboration with ASP.NET team)
  • #5: RTT = Round-Trip time Between data centers, from Australia – matters a lot
  • #6: Known headers not in textual form, custom headers are – built-in compression of repeating headers (HPACK) 100 streams default, technically ok to have multiple connections TCP slow start, but less 2-3 RTT handshakes
  • #7: Most major browsers Akamai (CDN)
  • #9: Azure Networking – some reverse proxies (not all)
  • #10: Preview in .NET 6.0 – under a switch Validation: Non-msquic implementation
  • #13: You have to supply handler / HttpClient yourself to share HTTP/2 connection Automatic pooling is bad (ServicePoint) We throw for ConnectAsync without handler
  • #16: Why build yet another one? – Extensibility & Customizability
  • #18: Public endpoint to your sites & services, or as Service mesh For example: Ingress for k8s and Service Fabric
  • #19: API Management solution - consistent API surface for customers backed by multitude of micro-services (replace Azure API Management) Routing local traffic to remote servers (single point of control and config) Like forward proxy, but client does not have to be aware of it
  • #20: YARP 1.0 – November 2021 YARP 1.1 – May 2022 Not Lua / C++ … Nginx On Windows runs better than most other proxies Can run in IIS and HTTP.sys Public benchmarks Community: Node.js migration – throughput was ~6-7x greater on ASP .NET Core; P99 latency was ~2-4x better on ASP .NET Core.
  • #21: Also GH Discussions and Issues
  • #22: Announced 8/24 (2022)
  • #24: We are a library, not EXE Config from json, but interface pluggable Apply config change
  • #25: Advanced mode for even higher customization (large services)
  • #26: Feedback – did you like it or not?