Reactive Messaging Patterns with the Actor Model : Applications and Integration in Scala and Akka

Reactive Messaging Patterns with the Actor Model : Applications and Integration in Scala and Akka

  • ただいまウェブストアではご注文を受け付けておりません。 ⇒古書を探す
  • 製本 Hardcover:ハードカバー版/ページ数 480 p.
  • 言語 ENG
  • 商品コード 9780133846836
  • DDC分類 005.1

Full Description

USE THE ACTOR MODEL TO BUILD SIMPLER SYSTEMS WITH BETTER 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 at forcomprehension.com.

 

Contents

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

 

最近チェックした商品