官术网_书友最值得收藏!

Foreword

Reactive programming is finally getting the attention it deserves with the help of famous Java names such as Spring Boot and Spring Framework. Which qualifier would you use to describe Spring solutions? The usual answer I hear and read from various users—pragmatic. The reactive support offered is no exception, and the team has chosen to keep supporting both reactive and non-reactive stacks. With choice comes responsibility, it is, therefore, critical to understand when to design your application "the reactive way" and what best practices you can apply to your next production-ready systems.

Spring positions itself as a provider of the best tooling available to write all kinds of microservices. With its reactive stack, Spring helps developers to create incredibly efficient, available, and resilient endpoints. As a byproduct, reactive Spring microservices tolerate network latency and cope with failure in a much less impacting way. Think about it—it's the right solution if you are writing an Edge API, a mobile backend, or a heavily mutualized microservice! The secret? Reactive microservices isolate slow transactions and reward the fastest.

Once you have qualified your needs, Project Reactor will be a reactive foundation of choice that will naturally pair with your reactive Spring project. In its latest 3.x iterations, it implements most of the Reactive extensions described first by Microsoft in 2011. Along with a standard vocabulary, Reactor introduces first-class support for Reactive Streams flow control at every functional stage and unique features such as Context passing.

In a synthetic but not simplistic set of example-driven chapters, Oleh and Igor describe a fantastic journey into reactive programming and reactive systems. After a quick context setting, reminding the history and challenges of Project Reactor, we quickly dive into ready-to-use examples running on Spring Boot 2. The book never does miss an occasion to seriously cover testing, giving a clear idea on how to produce quality reactive code.

Oleh and Igor perfectly introduce their readers to those reactive design patterns for the scalability needs of today and tomorrow. The authors cover more than reactive programming with plenty of guidance on Spring Boot or Spring Framework. In a forward-looking chapter, authors stimulate the readers' curiosity with some details about reactive communications using RSocket—a promising technology poised to deliver reactive benefits to the transport layer.

I hope you will take as much pleasure from reading this book as I did and keep learning new ways of writing applications.

 

Stéphane Maldini

Lead developer, Project Reactor

主站蜘蛛池模板: 吐鲁番市| 宁明县| 津市市| 朝阳市| 静安区| 屯留县| 临泽县| 澜沧| 武功县| 赤城县| 黔南| 裕民县| 荔波县| 荣昌县| 孟州市| 新河县| 广元市| 莆田市| 柳林县| 怀化市| 北票市| 德安县| 营山县| 临漳县| 沂南县| 尼玛县| 龙岩市| 石渠县| 大田县| 日照市| 察雅县| 南溪县| 铜梁县| 左贡县| 苗栗县| 常熟市| 金乡县| 青神县| 甘孜县| 石首市| 建德市|