• Complain

Robert Hedgpeth - R2DBC Revealed: Reactive Relational Database Connectivity for Java and JVM Programmers

Here you can read online Robert Hedgpeth - R2DBC Revealed: Reactive Relational Database Connectivity for Java and JVM Programmers full text of the book (entire story) in english for free. Download pdf and epub, get meaning, cover and reviews about this ebook. publisher: Apress, genre: Computer. Description of the work, (preface) as well as reviews are available. Best literature library LitArk.com created for fans of good reading and offers a wide selection of genres:

Romance novel Science fiction Adventure Detective Science History Home and family Prose Art Politics Computer Non-fiction Religion Business Children Humor

Choose a favorite category and find really read worthwhile books. Enjoy immersion in the world of imagination, feel the emotions of the characters or learn something new for yourself, make an fascinating discovery.

Robert Hedgpeth R2DBC Revealed: Reactive Relational Database Connectivity for Java and JVM Programmers
  • Book:
    R2DBC Revealed: Reactive Relational Database Connectivity for Java and JVM Programmers
  • Author:
  • Publisher:
    Apress
  • Genre:
  • Rating:
    4 / 5
  • Favourites:
    Add to favourites
  • Your mark:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

R2DBC Revealed: Reactive Relational Database Connectivity for Java and JVM Programmers: summary, description and annotation

We offer to read an annotation, description, summary or preface (depends on what the author of the book "R2DBC Revealed: Reactive Relational Database Connectivity for Java and JVM Programmers" wrote himself). If you haven't found the necessary information about the book — write in the comments, we will try to find it.

Robert Hedgpeth: author's other books


Who wrote R2DBC Revealed: Reactive Relational Database Connectivity for Java and JVM Programmers? Find out the surname, the name of the author of the book and a list of all author's works by series.

R2DBC Revealed: Reactive Relational Database Connectivity for Java and JVM Programmers — read online for free the complete book (whole text) full work

Below is the text of the book, divided by pages. System saving the place of the last page read, allows you to conveniently read the book "R2DBC Revealed: Reactive Relational Database Connectivity for Java and JVM Programmers" online for free, without having to search again every time where you left off. Put a bookmark, and you can go to the page where you finished reading at any time.

Light

Font size:

Reset

Interval:

Bookmark:

Make
Contents
Landmarks
Book cover of R2DBC Revealed Robert Hedgpeth R2DBC Revealed Reactive - photo 1
Book cover of R2DBC Revealed
Robert Hedgpeth
R2DBC Revealed
Reactive Relational Database Connectivity for Java and JVM Programmers
1st ed.
Logo of the publisher Robert Hedgpeth Chicago IL USA Any source code or - photo 2
Logo of the publisher
Robert Hedgpeth
Chicago, IL, USA

Any source code or other supplementary material referenced by the author in this book is available to readers on GitHub via the books product page, located at www.apress.com/9781484269886 . For more detailed information, please visit http://www.apress.com/source-code .

ISBN 978-1-4842-6988-6 e-ISBN 978-1-4842-6989-3
https://doi.org/10.1007/978-1-4842-6989-3
Robert Hedgpeth 2021
This work is subject to copyright. All rights are solely and exclusively licensed by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed.
The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use.
The publisher, the authors and the editors are safe to assume that the advice and information in this book are believed to be true and accurate at the date of publication. Neither the publisher nor the authors or the editors give a warranty, expressed or implied, with respect to the material contained herein or for any errors or omissions that may have been made. The publisher remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Distributed to the book trade worldwide by Springer Science+Business Media LLC, 1 New York Plaza, Suite 4600, New York, NY 10004. Phone 1-800-SPRINGER, fax (201) 348-4505, e-mail orders-ny@springer-sbm.com, or visit www.springeronline.com. Apress Media, LLC is a California LLC and the sole member (owner) is Springer Science + Business Media Finance Inc (SSBM Finance Inc). SSBM Finance Inc is a Delaware corporation.

To my beautiful, intelligent, and incredibly patient wife, Tracy, for encouraging and supporting me throughout all the nights and weekends I spent on this book, and to our infant son, Darius, for providing ample opportunities for early morning writing.

The World at Scale

One of the few stable things in information technology is constant change.

Software, once written as machine code, then by using compilers, went (and still goes) through various paradigm changes: procedural, data driven, object oriented, functional. There have been many more programming models, and others will follow. Patterns come and go as we speak. All this is driven by purpose, capabilities of our runtime environments, constraints, and business requirements.

In a similar way, the way how we consume software services has changed many times. Back in the 1990s, software was primarily installed locally and sometimes backed by a server. Think of your good old desktop computer. The 2000s are characterized by online services. More and more services became available through the Internet, all hosted in their own data centers. Businesses began investigating web applications to avoid installing software on each machine. Data centers grew.

The 2010s finally set the stage for software-backed services to run in the cloud. Many online services were founded these years. Its the golden digital age. Businesses driven by software can simply scale by adding another batch of machines to their data center to serve more customers, or in their cloud.

Scalability is only constrained by the remaining capacity in a data center, the investment in servers, and the operational cost for computer systems. Scaling a business comes with many challenges. One of them is efficiency. Efficiency becomes an important metric to measure how well a system is utilized compared to its cost.

But what impacts the efficiency and scalability of an application?

To answer this question, we have to get to the bottom of an application and its programming language. Are you ready to dig through the physiology of applications? Ready? Go!

All applications have in common that they require computation power and memory to fulfill their work. How many concurrent requests/users/processes/ a single machine can handle depends primarily on CPU and memory demand. It also depends on how CPU and memory are used with a strong tie to the duration in which resources get occupied.

Typical enterprise applications on the JVM follow an imperative programming style that guarantees synchronization and order of execution for each individual statement.

Imperative programming comes with certain effects that arent immediately visible. One of these effects is how I/O gets handled and how it affects threads. Typically, applications require an integration with a database, message broker, or another remote service to perform their work. When communicating with remote integrations, the network becomes an integral part of the work that has to be done. It becomes a driver for latency. Network performance and remote peer performance become a factor that affects scalability as I/O causes to block the underlying thread. Threads require memory and CPU. You cant have an infinite number. That being said, threads impose a primary constraint for application scalability.

With sufficiently high I/O load, machines can be kept busy with waiting for I/O they basically wait all the time with CPU and memory being maxed out. As you might already tell, such an arrangement isnt efficient.

Now that we have identified constraints for scalability and efficiency, we should take a look at what we can do about this aspect.

There are various approaches to overcome the limitations of the imperative programming model. The most significant and most efficient one is just not using blocking I/O. Using non-blocking I/O is all but trivial.

In the JVM space, we can use various abstractions that help with developing highly efficient applications. So far, the only consistent programming model that helps with non-blocking I/O is reactive programming. Reactive programming is heavily stream and event oriented. It is characterized by pipeline definitions, operators, and a functional programming style. Reactive programming leads to a well-structured code that isnt cluttered with endless callbacks.

Data sources, internal and inter-process sources, follow the same style. The reactive runtime and its integrations encapsulate threading and the non-blocking I/O business. Reactive drivers expose a convenient API that can be directly used without worrying about how to use non-blocking I/O.

Reactive programming on the JVM is still a young endeavor. In the past years, an inter-op standard emerged to connect reactive libraries so that they can interact with each other. This standard is Reactive Streams.

The very first abstractions that followed Reactive Streams were composition libraries, web frameworks, messaging libraries, and the MongoDB client.

Next page
Light

Font size:

Reset

Interval:

Bookmark:

Make

Similar books «R2DBC Revealed: Reactive Relational Database Connectivity for Java and JVM Programmers»

Look at similar books to R2DBC Revealed: Reactive Relational Database Connectivity for Java and JVM Programmers. We have selected literature similar in name and meaning in the hope of providing readers with more options to find new, interesting, not yet read works.


Reviews about «R2DBC Revealed: Reactive Relational Database Connectivity for Java and JVM Programmers»

Discussion, reviews of the book R2DBC Revealed: Reactive Relational Database Connectivity for Java and JVM Programmers and just readers' own opinions. Leave your comments, write what you think about the work, its meaning or the main characters. Specify what exactly you liked and what you didn't like, and why you think so.