Op werkdagen voor 23:00 besteld, morgen in huis Gratis verzending vanaf €20

Reactive Messaging Patterns with the Actor Model

Applications and Integration in Scala and Akka

E-book Engels 2015 9780133846874
Verwachte levertijd ongeveer 9 werkdagen

Samenvatting

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.

 

Specificaties

ISBN13:9780133846874
Taal:Engels
Bindwijze:e-book

Lezersrecensies

Wees de eerste die een lezersrecensie schrijft!

Inhoudsopgave

<p style="margin:0px;">Foreword&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xiii</p> <p style="margin:0px;">Preface&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xv</p> <p style="margin:0px;">Acknowledgments&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xxiii</p> <p style="margin:0px;">About the Author&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xxv</p> <p style="margin:0px;">&nbsp;</p> <p style="margin:0px;">Chapter 1: Discovering the Actor Model and the Enterprise, All Over Again&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1</p> <p style="margin:0px;">Why Enterprise Software Development Is Hard&nbsp;&nbsp; 1</p> <p style="margin:0px;">Introducing Reactive Applications&nbsp;&nbsp;&nbsp; 5</p> <p style="margin:0px;">Enterprise Applications&nbsp;&nbsp; 9</p> <p style="margin:0px;">Actor Model&nbsp;&nbsp;&nbsp; 10</p> <p style="margin:0px;">The Actor Way Is Explicit&nbsp;&nbsp;&nbsp; 22</p> <p style="margin:0px;">What Next?&nbsp;&nbsp;&nbsp; 24</p> <p style="margin:0px;">&nbsp;</p> <p style="margin:0px;">Chapter 2: The Actor Model with Scala and Akka&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 25</p> <p style="margin:0px;">How to Get Scala and Akka&nbsp;&nbsp;&nbsp; 26</p> <p style="margin:0px;">Programming with Scala&nbsp;&nbsp;&nbsp; 29</p> <p style="margin:0px;">Programming with Akka&nbsp;&nbsp;&nbsp; 43</p> <p style="margin:0px;">Summary&nbsp;&nbsp; 104</p> <p style="margin:0px;">&nbsp;</p> <p style="margin:0px;">Chapter 3: Performance Bent&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 107</p> <p style="margin:0px;">Transistors Matter&nbsp;&nbsp;&nbsp; 107</p> <p style="margin:0px;">Clock Speed Matters&nbsp;&nbsp;&nbsp; 109</p> <p style="margin:0px;">Cores and Cache Matter&nbsp;&nbsp;&nbsp; 111</p> <p style="margin:0px;">Scale Matters&nbsp;&nbsp;&nbsp; 112</p> <p style="margin:0px;">Multithreading Is Hard&nbsp;&nbsp; 116</p> <p style="margin:0px;">How the Actor Model Helps&nbsp;&nbsp;&nbsp; 122</p> <p style="margin:0px;">The Patterns&nbsp;&nbsp;&nbsp; 126</p> <p style="margin:0px;">&nbsp;</p> <p style="margin:0px;">Chapter 4: Messaging with Actors&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 127</p> <p style="margin:0px;">Message Channel&nbsp;&nbsp;&nbsp; 128</p> <p style="margin:0px;">Message&nbsp;&nbsp;&nbsp; 130</p> <p style="margin:0px;">Pipes and Filters&nbsp;&nbsp;&nbsp; 135</p> <p style="margin:0px;">Message Router&nbsp;&nbsp; 140</p> <p style="margin:0px;">Message Translator&nbsp;&nbsp;&nbsp; 143</p> <p style="margin:0px;">Message Endpoint&nbsp;&nbsp;&nbsp; 145</p> <p style="margin:0px;">Summary&nbsp;&nbsp;&nbsp; 147</p> <p style="margin:0px;">&nbsp;</p> <p style="margin:0px;">Chapter 5: Messaging Channels&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 149</p> <p style="margin:0px;">Point-to-Point Channel&nbsp;&nbsp;&nbsp; 151</p> <p style="margin:0px;">Publish-Subscribe Channel&nbsp;&nbsp; 154</p> <p style="margin:0px;">Datatype Channel&nbsp;&nbsp;&nbsp; 167</p> <p style="margin:0px;">Invalid Message Channel&nbsp;&nbsp;&nbsp; 170</p> <p style="margin:0px;">Dead Letter Channel&nbsp;&nbsp;&nbsp; 172</p> <p style="margin:0px;">Guaranteed Delivery&nbsp;&nbsp;&nbsp; 175</p> <p style="margin:0px;">Channel Adapter&nbsp;&nbsp;&nbsp; 183</p> <p style="margin:0px;">Message Bridge&nbsp;&nbsp;&nbsp; 185</p> <p style="margin:0px;">Message Bus&nbsp;&nbsp;&nbsp; 192</p> <p style="margin:0px;">Summary&nbsp;&nbsp;&nbsp; 200</p> <p style="margin:0px;">&nbsp;</p> <p style="margin:0px;">Chapter 6: Message Construction&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 201</p> <p style="margin:0px;">Command Message&nbsp;&nbsp; 202</p> <p style="margin:0px;">Document Message&nbsp;&nbsp; 204</p> <p style="margin:0px;">Event Message&nbsp;&nbsp;&nbsp; 207</p> <p style="margin:0px;">Request-Reply&nbsp;&nbsp;&nbsp; 209</p> <p style="margin:0px;">Return Address&nbsp;&nbsp;&nbsp; 211</p> <p style="margin:0px;">Correlation Identifier&nbsp;&nbsp;&nbsp; 215</p> <p style="margin:0px;">Message Sequence&nbsp;&nbsp;&nbsp; 217</p> <p style="margin:0px;">Message Expiration&nbsp;&nbsp;&nbsp; 218</p> <p style="margin:0px;">Format Indicator&nbsp;&nbsp;&nbsp; 222</p> <p style="margin:0px;">Summary&nbsp;&nbsp;&nbsp; 226</p> <p style="margin:0px;">&nbsp;</p> <p style="margin:0px;">Chapter 7: Message Routing&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 227</p> <p style="margin:0px;">Content-Based Router&nbsp;&nbsp; 228</p> <p style="margin:0px;">Message Filter&nbsp;&nbsp;&nbsp; 232</p> <p style="margin:0px;">Dynamic Router&nbsp;&nbsp;&nbsp; 237</p> <p style="margin:0px;">Recipient List&nbsp;&nbsp;&nbsp; 245</p> <p style="margin:0px;">Splitter&nbsp;&nbsp;&nbsp; 254</p> <p style="margin:0px;">Aggregator&nbsp;&nbsp;&nbsp; 257</p> <p style="margin:0px;">Resequencer&nbsp;&nbsp;&nbsp; 264</p> <p style="margin:0px;">Composed Message Processor&nbsp;&nbsp;&nbsp; 270</p> <p style="margin:0px;">Scatter-Gather&nbsp;&nbsp;&nbsp; 272</p> <p style="margin:0px;">Routing Slip&nbsp;&nbsp;&nbsp; 285</p> <p style="margin:0px;">Process Manager&nbsp;&nbsp;&nbsp; 292</p> <p style="margin:0px;">Message Broker&nbsp;&nbsp;&nbsp; 308</p> <p style="margin:0px;">Summary&nbsp;&nbsp;&nbsp;&nbsp; 310</p> <p style="margin:0px;">&nbsp;</p> <p style="margin:0px;">Chapter 8: Message Transformation&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 313</p> <p style="margin:0px;">Envelope Wrapper&nbsp;&nbsp;&nbsp; 314</p> <p style="margin:0px;">Content Enricher&nbsp;&nbsp;&nbsp; 317</p> <p style="margin:0px;">Content Filter&nbsp;&nbsp; 321</p> <p style="margin:0px;">Claim Check&nbsp;&nbsp;&nbsp; 325</p> <p style="margin:0px;">Normalizer&nbsp;&nbsp;&nbsp; 332</p> <p style="margin:0px;">Canonical Message Model&nbsp;&nbsp;&nbsp; 333</p> <p style="margin:0px;">Summary&nbsp;&nbsp;&nbsp; 336</p> <p style="margin:0px;">&nbsp;</p> <p style="margin:0px;">Chapter 9: Message Endpoints&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 337</p> <p style="margin:0px;">Messaging Gateway&nbsp;&nbsp;&nbsp; 338</p> <p style="margin:0px;">Messaging Mapper&nbsp;&nbsp;&nbsp; 344</p> <p style="margin:0px;">Transactional Client/Actor&nbsp;&nbsp;&nbsp; 351</p> <p style="margin:0px;">Polling Consumer&nbsp;&nbsp;&nbsp; 362</p> <p style="margin:0px;">Event-Driven Consumer&nbsp;&nbsp;&nbsp;&nbsp; 371</p> <p style="margin:0px;">Competing Consumers&nbsp;&nbsp;&nbsp; 371</p> <p style="margin:0px;">Message Dispatcher&nbsp;&nbsp;&nbsp; 374</p> <p style="margin:0px;">Selective Consumer&nbsp;&nbsp;&nbsp;&nbsp; 377</p> <p style="margin:0px;">Durable Subscriber&nbsp;&nbsp;&nbsp; 379</p> <p style="margin:0px;">Idempotent Receiver&nbsp;&nbsp;&nbsp; 382</p> <p style="margin:0px;">Service Activator&nbsp;&nbsp;&nbsp; 390</p> <p style="margin:0px;">Summary&nbsp;&nbsp;&nbsp; 391</p> <p style="margin:0px;">&nbsp;</p> <p style="margin:0px;">Chapter 10: System Management and Infrastructure&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 393</p> <p style="margin:0px;">Control Bus&nbsp;&nbsp;&nbsp; 394</p> <p style="margin:0px;">Detour&nbsp;&nbsp;&nbsp; 395</p> <p style="margin:0px;">Wire Tap&nbsp;&nbsp;&nbsp; 397</p> <p style="margin:0px;">Message Metadata/History&nbsp;&nbsp; 398</p> <p style="margin:0px;">Message Journal/Store&nbsp;&nbsp;&nbsp; 402</p> <p style="margin:0px;">Smart Proxy&nbsp;&nbsp;&nbsp; 406</p> <p style="margin:0px;">Test Message&nbsp;&nbsp;&nbsp; 411</p> <p style="margin:0px;">Channel Purger&nbsp;&nbsp;&nbsp; 414</p> <p style="margin:0px;">Summary&nbsp;&nbsp;&nbsp; 416</p> <p style="margin:0px;">&nbsp;</p> <p style="margin:0px;">Appendix A: Dotsero: An Akka-like Toolkit for .NET&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 417</p> <p style="margin:0px;">Dotsero Actor System&nbsp;&nbsp;&nbsp; 417</p> <p style="margin:0px;">Actors Using C# and .NET&nbsp;&nbsp;&nbsp; 420</p> <p style="margin:0px;">Dotsero Implementation&nbsp;&nbsp;&nbsp; 425</p> <p style="margin:0px;">Summary&nbsp;&nbsp;&nbsp; 427</p> <p style="margin:0px;">&nbsp;</p> <p style="margin:0px;">Bibliography&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 429</p> <p style="margin:0px;">Index&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 433</p> <p style="margin:0px;">&nbsp;</p>

Managementboek Top 100

Rubrieken

Populaire producten

    Personen

      Trefwoorden

        Reactive Messaging Patterns with the Actor Model