Reactive Messaging Patterns with the Actor Model - Vaughn Vernon

Reactive Messaging Patterns with the Actor Model

Applications and Integration in Scala and Akka

(Autor)

Buch | Hardcover
480 Seiten
2015
Addison-Wesley Educational Publishers (Verlag)
978-0-13-384683-6 (ISBN)
58,75 inkl. MwSt
  • Titel gebraucht verfügbar
  • Artikel merken
Studibuch Logo

...gebraucht verfügbar!

  • Teaches how to develop multi-core, muti-threaded, high scalability, high performance, low latency systems, and learn how to write composable software that is event-driven, scalable under load, resilient and responsive in the presence of failures
  • Online source code supports all of the samples in the book, and Scala and Akka are free downloads from typesafe.com

Use the Actor Model to build simpler systems with bestter performance and scalability.

Enterprise software development has been much more difficult and failure-prone than it needs to be. Now, veteran software engineer and author Vaughn Vernon offers an easier and more rewarding method to succeeding with Actor model.

Reactive Messaging Patterns with the Actor Model shows how the reactive enterprise approach, Actor model, Scala, and Akka can help you overcome previous limits of performance and scalability, and skillfully address even the most challenging non-functional requirements.

Reflecting his own cutting-edge work, Vernon shows architects and developers how to translate the longtime promises of Actor model into practical reality. First, he introduces the tenets of reactive software, and shows how the message-driven Actor model addresses all of them-making it possible to build systems that are more responsive, resilient, and elastic.

Next, he presents a practical Scala bootstrap tutorial, a thorough introduction to Akka and Akka Cluster, and a full chapter on maximizing performance and scalability with Scala and Akka.

Building on this foundation, you'll learn to apply enterprise application and integration patterns to establish message channels and endpoints; efficiently construct, route, and transform messages; and build robust systems that are simpler and far more successful.

Coverage Includes
  • How reactive architecture replaces complexity with simplicity throughout the core, middle, and edges
  • The characteristics of actors and actor systems, and how Akka makes them more powerful
  • Building systems that perform at scale on one or many computing nodes
  • Establishing channel mechanisms, and choosing appropriate channels for each application and integration challenge
  • Constructing messages to clearly convey a sender's intent in communicating with a receiver
  • Implementing a Process Manager for your Domain-Driven Designs
  • Decoupling a message's source and destination, and integrating appropriate business logic into its router
  • Understanding the transformations a message may experience in applications and integrations
  • Implementing persistent actors using Event Sourcing and reactive views using CQRS Find unique online training on Domain-Driven Design, Scala, Akka, and other software craftsmanship topics using the for{comprehension} website.

Vaughn Vernon is a veteran software craftsman and thought leader in simplifying software design and implementation. The author of the best-selling Implementing Domain-Driven Design (Addison-Wesley, 2013), he has taught his IDDD Workshop to hundreds of software developers worldwide, consults, and speaks frequently at industry conferences. Vaughn's interests include distributed computing, messaging, and Actor model. He first used Akka in 2012 on a GIS system and has specialized in applying Actor model with Domain-Driven Design ever since.

Foreword xiii

Preface xv

Acknowledgments xxiii

About the Author xxv

Chapter 1: Discovering the Actor Model and the Enterprise, All Over Again 1

Why Enterprise Software Development Is Hard 1

Introducing Reactive Applications 5

Enterprise Applications 9

Actor Model 10

The Actor Way Is Explicit 22

What Next? 24

Chapter 2: The Actor Model with Scala and Akka 25

How to Get Scala and Akka 26

Programming with Scala 29

Programming with Akka 43

Summary 104

Chapter 3: Performance Bent 107

Transistors Matter 107

Clock Speed Matters 109

Cores and Cache Matter 111

Scale Matters 112

Multithreading Is Hard 116

How the Actor Model Helps 122

The Patterns 126

Chapter 4: Messaging with Actors 127

Message Channel 128

Message 130

Pipes and Filters 135

Message Router 140

Message Translator 143

Message Endpoint 145

Summary 147

Chapter 5: Messaging Channels 149

Point-to-Point Channel 151

Publish-Subscribe Channel 154

Datatype Channel 167

Invalid Message Channel 170

Dead Letter Channel 172

Guaranteed Delivery 175

Channel Adapter 183

Message Bridge 185

Message Bus 192

Summary 200

Chapter 6: Message Construction 201

Command Message 202

Document Message 204

Event Message 207

Request-Reply 209

Return Address 211

Correlation Identifier 215

Message Sequence 217

Message Expiration 218

Format Indicator 222

Summary 226

Chapter 7: Message Routing 227

Content-Based Router 228

Message Filter 232

Dynamic Router 237

Recipient List 245

Splitter 254

Aggregator 257

Resequencer 264

Composed Message Processor 270

Scatter-Gather 272

Routing Slip 285

Process Manager 292

Message Broker 308

Summary 310

Chapter 8: Message Transformation 313

Envelope Wrapper 314

Content Enricher 317

Content Filter 321

Claim Check 325

Normalizer 332

Canonical Message Model 333

Summary 336

Chapter 9: Message Endpoints 337

Messaging Gateway 338

Messaging Mapper 344

Transactional Client/Actor 351

Polling Consumer 362

Event-Driven Consumer 371

Competing Consumers 371

Message Dispatcher 374

Selective Consumer 377

Durable Subscriber 379

Idempotent Receiver 382

Service Activator 390

Summary 391

Chapter 10: System Management and Infrastructure 393

Control Bus 394

Detour 395

Wire Tap 397

Message Metadata/History 398

Message Journal/Store 402

Smart Proxy 406

Test Message 411

Channel Purger 414

Summary 416

Appendix A: Dotsero: An Akka-like Toolkit for .NET 417

Dotsero Actor System 417

Actors Using C# and .NET 420

Dotsero Implementation 425

Summary 427

Bibliography 429

Index 433

Erscheint lt. Verlag 20.8.2015
Verlagsort New Jersey
Sprache englisch
Maße 185 x 231 mm
Gewicht 890 g
Einbandart kartoniert
Themenwelt Mathematik / Informatik Informatik Programmiersprachen / -werkzeuge
Mathematik / Informatik Informatik Software Entwicklung
Schlagworte Actor Model • Akka • Aktoren • Message Passing • Scala • Scala (Programmiersprache) • Scala Programming Language • Softwareentwicklungsmodelle
ISBN-10 0-13-384683-0 / 0133846830
ISBN-13 978-0-13-384683-6 / 9780133846836
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich