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.  
Les mer
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  
Les mer
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
Les mer

Produktdetaljer

ISBN
9780133846836
Publisert
2015-08-20
Utgiver
Pearson Education (US)
Vekt
894 gr
Høyde
239 mm
Bredde
184 mm
Dybde
31 mm
Aldersnivå
P, 06
Språk
Product language
Engelsk
Format
Product format
Innbundet
Antall sider
480

Forfatter

Biografisk notat

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. He discusses his latest work at VaughnVernon.co and on Twitter at @VaughnVernon.