My Account Log in

3 options

Akka cookbook : make your application fast, concurrent, and reactive through exciting recipes / Héctor Veiga Ortiz, Piyush Mishra.

EBSCOhost Academic eBook Collection (North America) Available online

View online

Ebook Central College Complete Available online

View online

O'Reilly Online Learning: Academic/Public Library Edition Available online

View online
Format:
Book
Author/Creator:
Ortiz, Héctor Veiga, author.
Mishra, Piyush, author.
Language:
English
Subjects (All):
Scala (Computer program language).
Application software--Development.
Application software.
Java (Computer program language).
Physical Description:
1 online resource (382 pages) : illustrations
Edition:
1st edition
Place of Publication:
Birmingham, England ; Mumbai, [India] : Packt Publishing, 2017.
System Details:
text file
Biography/History:
Mishra Vivek: Vivek Mishra is an IT professional with more than nine years of experience in various technologies like Java, J2ee, Hibernate, SCA4J, Mule, Spring, Cassandra, HBase, MongoDB, REDIS, Hive, Hadoop. He has been a contributor for open source like Apache Cassandra and lead committer for Kundera(JPA 2. 0 compliant Object-Datastore Mapping Library for NoSQL Datastores like Cassandra, HBase, MongoDB and REDIS). Mr Mishra in his previous experience has enjoyed long lasting partnership with most recognizable names in SCM, Banking and finance industries, employing industry standard full software life cycle methodologies Agile and SCRUM. He is currently employed with Impetus infotech pvt. ltd. He has undertaken speaking engagements in cloud camp and Nasscom Big data seminar and is an active blogger and can be followed at mevivs. wordpress. comVeiga Ortiz Hector: Hector Veiga Ortiz is a software engineer specializing in real-time data integration. Recently, he has focused his work on different cloud technologies (such as AWS) to develop and run scalable, resilient, and high performing applications that are able to handle high volume, real-time data in diverse protocols and formats. To accomplish this task, he has been focusing his work on messaging systems such as Akka. He has also been working on microservice architectures with frameworks such as Lightbends Lagom. Additionally, he has a strong foundation in messaging broker knowledge, such as RabbitMQ and AMQP. Also, Hector has a masters degree in telecommunication engineering from the Universidad Politecnica de Madrid and a masters degree in information technology and management from the Illinois Institute of Technology. He currently works at HERE Technologies as part of the global traffic data integrations team and is actively developing scalable applications to consume data from several different sources. He heavily utilizes Akka to address the scalability and processing requirements. In the past, Hector worked at Xaptum Technologies, a company dedicated to M2M technologies. Moreover, he has also contributed to the Akka project on a couple of occasions and is an active StackOverflow user on the akka tag. Hector has also worked as a technical reviewer on the books RabbitMQ Cookbook and RabbitMQ Essentials by Packt Publishing.
Summary:
Learn how to use the Akka framework to build effective applications in Scala About This Book Covers a discussion on Lagom—the newest launched Akka framework that is built to create complex microservices easily The recipe approach of the book allows the reader to know important and independent concepts of Scala and Akka in a seamless manner Provides a comprehensive understanding of the Akka actor model and implementing it to create reactive web applications Who This Book Is For If you are a Scala developer who wants to build scalable and concurrent applications, then this book is for you. Basic knowledge of Akka will help you take advantage of this book. What You Will Learn Control an actor using the ContolAware mailbox Test a fault-tolerant application using the Akka test kit Create a parallel application using futures and agents Package and deploy Akka application inside Docker Deploy remote actors programmatically on different nodes Integrate Streams with Akka actors Install Lagom and create a Lagom project In Detail Akka is an open source toolkit that simplifies the construction of distributed and concurrent applications on the JVM. This book will teach you how to develop reactive applications in Scala using the Akka framework. This book will show you how to build concurrent, scalable, and reactive applications in Akka. You will see how to create high performance applications, extend applications, build microservices with Lagom, and more. We will explore Akka's actor model and show you how to incorporate concurrency into your applications. The book puts a special emphasis on performance improvement and how to make an application available for users. We also make a special mention of message routing and construction. By the end of this book, you will be able to create a high-performing Scala application using the Akka framework. Style and approach This highly practical recipe-based approach will allow you to build scalable, robust, and reactive applications using the Akka framework. Downloading the example code for this book. You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the code file.
Contents:
Cover
Copyright
Credits
About the Authors
About the Reviewer
www.PacktPub.com
Customer Feedback
Table of Contents
Preface
Chapter 1: Diving into Akka
Introduction
Creating an Akka Scala SBT project from scratch
Getting ready
How to do it...
Creating and understanding ActorSystem
How it works...
Why we need ActorSystem
Defining the actor's behavior and state
There's more...
Sending messages to actors
Asking for a result from an actor
Communication between actors
Creating a custom mailbox for an actor
Prioritizing messages that an actor receives
Creating a control-aware mailbox for an actor
Become/unbecome behavior of an actor
Stopping an actor
Chapter 2: Supervision and Monitoring
What is fault tolerance?
What is a component?
How Akka fits in between all of them?
Creating child actors of a parent actor
Overriding the life cycle hooks of an actor
Sending messages to actors and collecting responses
Understanding OneForOneStrategy for actors
Understanding AllForOneStrategy for actors
How to do it.
How it works...
Monitoring an actor life cycle using DeathWatch
Chapter 3: Routing Messages
Where to use routers
Creating a SmallestMailboxPool of actors
Creating a BalancingPool of actors
Creating a RoundRobinPool of actors
Creating a BroadcastPool of actors
Creating a ScatterGatherFirstCompletedPool of actors
Creating a TailChoppingPool of actors.
Creating a ConsistentHashingPool of actors
Creating a RandomPool of actors
Sending specially handled messages to routers
Creating a dynamically resizable pool of actors
Chapter 4: Using Futures and Agents
Using a future directly for a simple operation
Using futures with actors
Using futures inside actors
Using for-comprehensions for futures
Handling callback on futures
Creating a simple parallel application using futures
Reducing a sequence of futures
Reading and updating agents
Getting ready.
How to do it...
Composing agents monadically
How to do it..
Chapter 5: Scheduling Actors and Other Utilities
Scheduling an operation at a specified interval
How to do it…
How it works…
Scheduling an actor's operation at a specified interval
Canceling a scheduled operation of the actor
Creating a circuit breaker to avoid cascading failure
How to introduce logging with actors
Writing unit test for actors
Packaging and deploying the Akka standalone application
Packaging and deploying Akka application inside a Docker container
Configurating Akka applications
Chapter 6: Akka Persistence
Preparing an actor for persistence
Recovering the state of an actor
Safely shutting down a persistent actor
Reducing recovery time using snapshots
Creating a persistence FSM model
Persisting the state to LevelDB
Persisting the state to Cassandra
Persisting the state to Redis
How it works….
Understanding event sourcing
Handling failure in event sourcing
Using persistence query
Persistence query for LevelDB
Chapter 7: Remoting and Akka Clustering
Enabling Akka applications for remoting
Creating remote actors on different machines
Looking up remote actors from different machines
Deploying remote actors programmatically on different nodes
Scaling out your application using remote actors
How it works
Creating a chat-based application using remote actors
Enabling Akka clustering for your project
Using Distributed Publish-Subscribe in the cluster
Cluster Sharding
Sharing data between nodes in an Akka cluster
Creating a singleton actor across clusters
See also
Chapter 8: Akka Streams
Creating simple Akka Streams
How to transform streams and consume them
Creating stream sources, flows, and sinks
How it works.
Custom stream processing
Error handling in Akka streams
Pipelining and parallelizing streams
Working with streaming I/O
Integrating streams with Akka actors
Working with graphs
Processing RabbitMQ messages with Akka streams
Integrating Akka Streams with Kafka using Reactive Kafka
Chapter 9: Akka HTTP
Creating a minimal HTTP server using Akka HTTP
Consuming Akka HTTP services using a client-side API
Writing routing DSL for HTTP servers
Understanding the configuration of Akka HTTP
Marshaling and unmarshaling data
Encoding and decoding data
Understanding directives
Exception handling
Uploading a file using Akka HTTP
Building JSON support with Akka HTTP
XML support with Akka HTTP
Chapter 10: Understanding Various Akka patterns
Introduction.
The Master Slave work pulling pattern.
Notes:
Includes index.
Description based on online resource; title from PDF title page (ebrary, viewed June 23, 2017).
ISBN:
1-78528-836-9
OCLC:
990194373

The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.

Find

Home Release notes

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Find catalog Using Articles+ Using your account