Тёмный

The Value Of Reactive Systems 

SpringDeveloper
Подписаться 201 тыс.
Просмотров 11 тыс.
50% 1

In the Java world, it's been a couple years since Spring Framework 5 and Spring Boot 2 have published their new Reactive Programming features based on Project Reactor. During this period, the team has collected feedback, benchmarks, and other developer experiences.
This session is an invitation to navigate that valuable information together. Our goal? Building a decision-making template to assist you if/when you're thinking about Reactive architectures for your next system. We'll examine:
-why you should care
-what the tradeoffs are and what's being done to address them
-what benefits we should expect for various common modern use cases
-what the future holds for cloud-native systems and beyond
Speakers: Violeta Georgieva, Principal Software Engineer, Pivotal; Stephane Maldini, Reactive Engineering, Pivotal
Filmed at SpringOne Platform 2019
SlideShare: www.slideshare.net/SpringCent...

Наука

Опубликовано:

 

27 июл 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 9   
@emilbelardo639
@emilbelardo639 Год назад
Thank you for sharing this very informative presentation🙂 01:25 - Reactive programming in a nutshell 01:26 -- What is reactive programming? 03:34 -- Reactive programming concepts worth knowing 04:08 -- Functional programming 04:49 -- Asynchronous programming (work stealing) can make debugging difficult 05:33 -- What is non-blocking programming? 06:34 -- Multiple terminal routes: Blocking ( full data or no data ) vs. Non-Blocking ( full data, no data, or partial data ) 08:09 -- Overhead on low volume 09:55 - Reality Check Part 1: What are the priorities ( business and otherwise )? 12:47 - Performance Overview 12:48 -- Synchronous Processing: Blocking - Remote Call 14:14 -- Synchronous Processing: Blocking - Slow Client 14:59 -- Asynchronous Processing: Blocking - Remote Call 16:03 -- Asynchronous Processing: Blocking - Slow Client 16:27 -- Non-Blocking and Event Loops 18:22 - Reactive Programming Model 18:24 -- What is backpressure and why is it important? 19:29 - WebMVC ( blocking processing ) vs. WebFlux ( non-blocking processing ) 19:55 - Use cases that favor using the reactive programming model and WebFlux 21:42 - Performance 22:36 -- Load Scenario / Description of Test Environment 23:34 -- Scenario 1 - Hello World ( return single string ) 23:46 --- Comparison: WebFlux vs. WebMVC 26:02 --- Why is it important to minimize use of old generation heap memory? 28:02 --- Why does WebFlux tend to use less old generation heap memory compared to Web MVC? 30:36 --- Can non-reactive programming and reactive programming coexist on the same server? 31:59 -- Scenario 2 - Hello World with Delay ( slow client simulation ) 33:06 --- Comparison: WebMVC 200 vs. WebMVC 200 ( with response delay ) 34:28 --- The importance of using tail latency instead of average latency as a benchmark 34:41 --- Comparison: WebMVC 200 ( with response delay ) vs. WebMVC 600 ( with response delay ) 35:04 --- Comparison: WebFlux vs. WebFlux ( with response delay ) 35:37 -- Scenario 3 - Streaming ( 50 elements ) 36:21 --- Comparison: WebFlux vs. WebMVC 36:52 -- Scenario 4 - Streaming with Delay ( slow client simulation ) 37:22 --- Comparison: WebFlux vs. WebMVC 37:49 -- Scenario 5 - Remote Call 38:51 --- Comparison: WebFlux vs. WebMVC with RestTemplate 39:37 --- Comparison: WebFlux vs. WebMVC with WebClient 40:43 --- The benefit of replacing RestTemplate with WebClient in a WebMVC application 41:38 -- Scenario 6 - Remote Call with Delay ( slow remote service simulation ) 42:12 --- Comparison: WebFlux vs. WebMVC with RestTemplate 42:34 --- Comparison: WebFlux vs. WebMVC with WebClient 44:02 --- Does it still make sense to replace RestTemplate with WebClient in a WebMVC application if it only interacts with one remote service? 45:38 - Reactive Programming Benefit: Built-in Resilience 46:10 -- Prepare for the worst, don't page Ops 46:59 - Tales of Production... 47:21 -- How Netty tries to isolate possible errors like OutOfMemoryError to the offending request 50:26 - Reality Check Part 2: Let's review the priorities again ( business or otherwise ) 50:37 -- Reactive allows more productivity in writing state of the art, scalable microservices 51:21 -- Reactive applications are designed to be resilient under stress and lower maintenance 51:52 -- Reactive allows you to run more for less 53:21 - Question & Answer
@rajivkumar-ub6uj
@rajivkumar-ub6uj 2 года назад
You guys are good. Thanks for the awesome presentation
@ramcorp542
@ramcorp542 Год назад
Thank for the presentation.
@itsnaveen007
@itsnaveen007 4 года назад
very good information
@Xposterion
@Xposterion 3 года назад
Thank you for presentation. Slideshare link not valid, could you please re-upload it?
@rewolfer
@rewolfer 3 года назад
So for scenario 3, the "Response Time" is for receiving the whole stream? So a p99 of ~5s is for streaming 50 items (of 1k each) => 50k/5s = 10k/s. Comparet with about 5.5k/s on MVC. I also really like the stddev numbers for the WebFlux results. Much more consistent than MVC.
@seonwookim5391
@seonwookim5391 2 года назад
thank you for the presentation. By the way, can I know what tools you have used to calculate the performance (comparison between WebMVC and Web Flux) ? Looks very useful
@Azotizca
@Azotizca 2 года назад
Its called gatling
@emilbelardo639
@emilbelardo639 Год назад
If Gatling was the load testing tool used to measure throughput, does anyone know what tool was used to measure resource usage of the application itself ? In the presentation, they showed both throughput metrics and resource usage metrics. As far as I know, Gatling only provides throughput metrics. So I'm very curious what tool was used for the resource usage metrics.
Далее
How to Get Productive with Spring Boot
1:03:56
Просмотров 18 тыс.
Avoiding Reactor Meltdown
58:22
Просмотров 22 тыс.
Wait for the BOWLING BALL! 👀
00:38
Просмотров 26 млн
Finger Heart - Fancy Refill (Inside Out Animation)
00:30
Designing a Reactive System
1:07:58
Просмотров 6 тыс.
RSocket Messaging with Spring
1:09:15
Просмотров 15 тыс.
Reactive Relational Database Connectivity with Spring
58:10
Reactor in Action - Simon Baslé, Victor Grazi
1:09:45
Просмотров 30 тыс.
КРУТОЙ ТЕЛЕФОН
0:16
Просмотров 6 млн
MSI сделали свой Steam Deck
12:54
Просмотров 40 тыс.