Amazon cover image
Image from Amazon.com

Learning Akka : build fault-tolerant, concurrent, and distributed applications with Akka / Jason Goodwin.

By: Material type: TextTextSeries: Community experience distilledPublisher: Birmingham, UK : Packt Publishing, 2015Description: 1 online resource (1 volume) : illustrationsContent type:
  • text
Media type:
  • computer
Carrier type:
  • online resource
ISBN:
  • 9781784393540
  • 1784393541
  • 1784393002
  • 9781784393007
Subject(s): Genre/Form: Additional physical formats: Erscheint auch als:: No titleDDC classification:
  • 005.133 23
LOC classification:
  • QA76.73.S28
Online resources:
Contents:
Cover; Copyright; Credits; About the Author; Acknowledgments; About the Reviewer; www.PacktPub.com; Table of Contents; Preface; Chapter 1: Starting Life as an Actor; What's in this book?; Chapter overview; What is Akka; Actor Model origins; What's an Actor anyway?; Actors and Message passing; The Evolution of supervision and fault tolerance in Erlang; The Evolution of distribution and location transparency; What we will build; Example 1 -- handling distributed state; Example 2 -- getting lots of work done; Setting up your environment; Choosing a language; Installing Java -- Oracle JDK8
Installing on WindowsInstalling on OSX; Installing on Linux or Unix (Universal instructions); Ensuring Java is configured in your environment; Installing Scala; Installing Typesafe Activator; Windows; Linux/Unix/OSX; OSX; Creating a new project; Installing an IDE; Install IntelliJ CE; Eclipse; Creating your first Akka application -- setting up the SBT project; Adding Akka to build.sbt; A note on getting the right Scala version with %%; Adding other Dependencies from Maven Central; Creating your first Actor; Making the Message first; Defining Actor response to the Message
Validating the code with unit testsAkka Testkit; Running the test; Homework; Summary; Chapter 2: Actors and Concurrency; Reactive system design; The 4 reactive tenets; Responsive; Elastic; Resilient; Event-driven/message-driven; Reactive Tenet Correlation; Anatomy of an Actor; Java Actor API; Scala Actor API; Creating an actor; Props; Promises, futures, and event-driven programming models; Blocking versus event-driven APIs; Skills check-point; Having an Actor respond via a future; Java example; Scala example; Blocking threads in tests; Understanding futures and promises
Future -- expressing failure and latency in typesPreparing the DB and messages; The messages; Implementing the DB functionality; Enabling remoting; Main; Publishing the messages; Starting the DB; Producing the client; Scaffolding the project; Modifying build.sbt; Building the client; Testing; Homework; General learning; Project homework; Summary; Chapter 3: Getting the Message Across; Setting the stage with an example problem; Sketching the project; Core functionality; Messaging delivery; Messages should be immutable; Ask message pattern; Designing with Ask
Callbacks execute in another execution contextTimeouts are required; Timeout stacktraces aren't useful; Ask has overhead; Complexity of Actors and Ask; Tell; Designing with Tell; Forward; Pipe; Homework; General learning; Project homework; Summary; Chapter 4: Actor Lifecycle -- Handling State and Failure; The 8 Fallacies of Distributed Computing; The network is reliable; Bandwidth is infinite; The network is secure; Network topology doesn't change; There is one administrator; Transport cost is zero; The network is homogeneous; Failure; Isolating failure; Redundancy; Supervision
Summary: Build fault tolerant concurrent and distributed applications with AkkaAbout This Book Build networked applications that self-heal Scale out your applications to handle more traffic faster An easy-to-follow guide with a number of examples to ensure you get the best start with AkkaWho This Book Is ForThis book is intended for beginner to intermediate Java or Scala developers who want to build applications to serve the high-scale user demands in computing today. If you need your applications to handle the ever-growing user bases and datasets with high performance demands, then this book is for you. Learning Akka will let you do more for your users with less code and less complexity, by building and scaling your networked applications with ease.What You Will Learn Use Akka to overcome the challenges of concurrent programming Resolve the issues faced in distributed computing with the help of Akka Scale applications to serve a high number of concurrent users Make your system fault-tolerant with self-healing applications Provide a timely response to users with easy concurrency Reduce hardware costs by building more efficient multi-user applications Maximise network efficiency by scaling itIn DetailSoftware today has to work with more data, more users, more cores, and more servers than ever. Akka is a distributed computing toolkit that enables developers to build correct concurrent and distributed applications using Java and Scala with ease, applications that scale across servers and respond to failure by self-healing. As well as simplifying development, Akka enables multiple concurrency development patterns with particular support and architecture derived from Erlang's concept of actors (lightweight concurrent entities). Akka is written in Scala, which has become the programming language of choice for development on the Akka platform.Learning Akka aims to be a comprehensive walkthrough of Akka. This book will take you on a journey through all the concepts of Akka that you need in order to get started with concurrent and distributed applications and even build your own.Beginning with the concept of Actors, the book will take you through concurrency in Akka. Moving on to networked applications, this book will explain the common pitfalls in these difficult problem areas while teaching you how to use Akka to overcome these problems with ease.The book is an easy to follow example-based guide that will strengthen your basic knowledge of Akka and aid you in applying the same to real-world scenarios.Style and approachAn easy-to-follow, example-based guide that will take you through building several networked-applications that work together while you are learning concurrent and distributed computing concepts. Each topic is explained while showing you how to design with Akka and how it is used to overcome common problems in applications. By showing Akka in context to the problems, it will help you understand what the common problems are in distributed applications and how to overcome them.
Item type:
Tags from this library: No tags from this library for this title. Log in to add tags.
Star ratings
    Average rating: 0.0 (0 votes)
Holdings
Item type Home library Collection Call number Materials specified Status Date due Barcode
Electronic-Books Electronic-Books OPJGU Sonepat- Campus E-Books EBSCO Available

Description based on online resource; title from cover page (Safari, viewed January 20, 2016).

Includes index.

Build fault tolerant concurrent and distributed applications with AkkaAbout This Book Build networked applications that self-heal Scale out your applications to handle more traffic faster An easy-to-follow guide with a number of examples to ensure you get the best start with AkkaWho This Book Is ForThis book is intended for beginner to intermediate Java or Scala developers who want to build applications to serve the high-scale user demands in computing today. If you need your applications to handle the ever-growing user bases and datasets with high performance demands, then this book is for you. Learning Akka will let you do more for your users with less code and less complexity, by building and scaling your networked applications with ease.What You Will Learn Use Akka to overcome the challenges of concurrent programming Resolve the issues faced in distributed computing with the help of Akka Scale applications to serve a high number of concurrent users Make your system fault-tolerant with self-healing applications Provide a timely response to users with easy concurrency Reduce hardware costs by building more efficient multi-user applications Maximise network efficiency by scaling itIn DetailSoftware today has to work with more data, more users, more cores, and more servers than ever. Akka is a distributed computing toolkit that enables developers to build correct concurrent and distributed applications using Java and Scala with ease, applications that scale across servers and respond to failure by self-healing. As well as simplifying development, Akka enables multiple concurrency development patterns with particular support and architecture derived from Erlang's concept of actors (lightweight concurrent entities). Akka is written in Scala, which has become the programming language of choice for development on the Akka platform.Learning Akka aims to be a comprehensive walkthrough of Akka. This book will take you on a journey through all the concepts of Akka that you need in order to get started with concurrent and distributed applications and even build your own.Beginning with the concept of Actors, the book will take you through concurrency in Akka. Moving on to networked applications, this book will explain the common pitfalls in these difficult problem areas while teaching you how to use Akka to overcome these problems with ease.The book is an easy to follow example-based guide that will strengthen your basic knowledge of Akka and aid you in applying the same to real-world scenarios.Style and approachAn easy-to-follow, example-based guide that will take you through building several networked-applications that work together while you are learning concurrent and distributed computing concepts. Each topic is explained while showing you how to design with Akka and how it is used to overcome common problems in applications. By showing Akka in context to the problems, it will help you understand what the common problems are in distributed applications and how to overcome them.

Cover; Copyright; Credits; About the Author; Acknowledgments; About the Reviewer; www.PacktPub.com; Table of Contents; Preface; Chapter 1: Starting Life as an Actor; What's in this book?; Chapter overview; What is Akka; Actor Model origins; What's an Actor anyway?; Actors and Message passing; The Evolution of supervision and fault tolerance in Erlang; The Evolution of distribution and location transparency; What we will build; Example 1 -- handling distributed state; Example 2 -- getting lots of work done; Setting up your environment; Choosing a language; Installing Java -- Oracle JDK8

Installing on WindowsInstalling on OSX; Installing on Linux or Unix (Universal instructions); Ensuring Java is configured in your environment; Installing Scala; Installing Typesafe Activator; Windows; Linux/Unix/OSX; OSX; Creating a new project; Installing an IDE; Install IntelliJ CE; Eclipse; Creating your first Akka application -- setting up the SBT project; Adding Akka to build.sbt; A note on getting the right Scala version with %%; Adding other Dependencies from Maven Central; Creating your first Actor; Making the Message first; Defining Actor response to the Message

Validating the code with unit testsAkka Testkit; Running the test; Homework; Summary; Chapter 2: Actors and Concurrency; Reactive system design; The 4 reactive tenets; Responsive; Elastic; Resilient; Event-driven/message-driven; Reactive Tenet Correlation; Anatomy of an Actor; Java Actor API; Scala Actor API; Creating an actor; Props; Promises, futures, and event-driven programming models; Blocking versus event-driven APIs; Skills check-point; Having an Actor respond via a future; Java example; Scala example; Blocking threads in tests; Understanding futures and promises

Future -- expressing failure and latency in typesPreparing the DB and messages; The messages; Implementing the DB functionality; Enabling remoting; Main; Publishing the messages; Starting the DB; Producing the client; Scaffolding the project; Modifying build.sbt; Building the client; Testing; Homework; General learning; Project homework; Summary; Chapter 3: Getting the Message Across; Setting the stage with an example problem; Sketching the project; Core functionality; Messaging delivery; Messages should be immutable; Ask message pattern; Designing with Ask

Callbacks execute in another execution contextTimeouts are required; Timeout stacktraces aren't useful; Ask has overhead; Complexity of Actors and Ask; Tell; Designing with Tell; Forward; Pipe; Homework; General learning; Project homework; Summary; Chapter 4: Actor Lifecycle -- Handling State and Failure; The 8 Fallacies of Distributed Computing; The network is reliable; Bandwidth is infinite; The network is secure; Network topology doesn't change; There is one administrator; Transport cost is zero; The network is homogeneous; Failure; Isolating failure; Redundancy; Supervision

eBooks on EBSCOhost EBSCO eBook Subscription Academic Collection - Worldwide

There are no comments on this title.

to post a comment.

O.P. Jindal Global University, Sonepat-Narela Road, Sonepat, Haryana (India) - 131001

Send your feedback to glus@jgu.edu.in

Hosted, Implemented & Customized by: BestBookBuddies   |   Maintained by: Global Library