Загрузка...

Fixing a Huge Performance Problem With My Webhooks Implementation (part 3)

Want to master Clean Architecture? Go here: https://bit.ly/3PupkOJ
Want to unlock Modular Monoliths? Go here: https://bit.ly/3SXlzSt
Get the source code here: https://www.patreon.com/milanjovanovic

In part 3 of our webhooks optimization series, I showcase how to transform a synchronous webhooks implementation into an asynchronous system for dramatically improved performance. Using OpenTelemetry traces, I demonstrate the bottleneck in our current webhook dispatch process, where each API request is being blocked by synchronous webhook processing. I then walk through the solution of decoupling webhook dispatch using Channels and a BackgroundService in .NET, allowing the API to respond quickly while webhooks are processed asynchronously. The video concludes with advanced techniques for maintaining proper distributed tracing context across async boundaries, ensuring we don't lose valuable observability in our new implementation.

Building Async APIs in ASP.NET Core - The Right Way
https://www.milanjovanovic.tech/blog/building-async-apis-in-aspnetcore-the-right-way

Lightweight In-Memory Message Bus Using .NET Channels
https://www.milanjovanovic.tech/blog/lightweight-in-memory-message-bus-using-dotnet-channels

Check out my courses:
https://www.milanjovanovic.tech/courses

Read my Blog here:
https://www.milanjovanovic.tech/blog

Join my weekly .NET newsletter:
https://www.milanjovanovic.tech

Chapters
0:00 Why the Webhooks won't scale
2:10 Decoupling Webhook dispatch
3:14 Webhooks processing - Channel and BackgroundService
6:55 Improving OpenTelemetry tracing

Видео Fixing a Huge Performance Problem With My Webhooks Implementation (part 3) канала Milan Jovanović
Яндекс.Метрика
Все заметки Новая заметка Страницу в заметки
Страницу в закладки Мои закладки
На информационно-развлекательном портале SALDA.WS применяются cookie-файлы. Нажимая кнопку Принять, вы подтверждаете свое согласие на их использование.
О CookiesНапомнить позжеПринять