Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at...
Transcript of Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at...
![Page 1: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/1.jpg)
High Performance Actors
Kiki, principal enterprise architect @ Lightbend
![Page 2: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/2.jpg)
The enabler of these characteristics is a Message Driven Model.
Responsive Resilient Elastic
React to Users
React to Failures
React to Load Variance
Low latency
Real-time / NRT
Graceful, Non-catastrophic Recovery
Self-Healing
Responsive in the face of changing loads
What we mean by “Reactive”
![Page 3: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/3.jpg)
• Fast decisions• Fast failures• Fast progress with Concurrency &
Parallelism
Message Driven Benefits for Speed and Performance
![Page 4: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/4.jpg)
Actor BActor A
Make a local decision
state
message handler
Ignore This?
message
![Page 5: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/5.jpg)
Actor BActor A
Make a local decision
state: 1
message handler
Do This
+2
asynchronous
message
![Page 6: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/6.jpg)
Actor BActor A
Make a local decision
state: 3
message handler
Do This
message
+2
asynchronous
![Page 7: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/7.jpg)
Local decision code
![Page 8: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/8.jpg)
Actor BActor A
Change Behavior
state: 3
message handler
OKsubtract
on
message
-1
message
Start subtracting
![Page 9: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/9.jpg)
Actor BActor A
Change Behavior
state: 2
message handler
Didthat…
message
-1
![Page 10: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/10.jpg)
Change behavior code
![Page 11: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/11.jpg)
Change behavior
code (cont’d)
![Page 12: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/12.jpg)
Actor BActor A
Send more messages
state: 2
message handler
Tell “A” I did that…
message
![Page 13: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/13.jpg)
Send more messages code
![Page 14: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/14.jpg)
Actor BActor A
Or chose not to
state: 3
message handler
…Or not…¯\_(�)_/¯
“don’t care”
![Page 15: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/15.jpg)
Trust but verify
![Page 16: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/16.jpg)
Actor BActor A
Create More Actors
state: 3
message handler
Actor B.1
Actor B.2
Actor B.3
Go forth!
![Page 17: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/17.jpg)
Create more actors codeJava
![Page 18: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/18.jpg)
Create Actors LiberallyAkka actors have a small memory footprint; ~2.5 million actors per GB of heap.
![Page 19: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/19.jpg)
Akka Abstractions
Akka Streams Akka Cluster Akka Http
![Page 20: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/20.jpg)
Scalability Cube: 3 dimensions of scalability
Y-axis: scale via functional composition
x-axis: horizontal scaling via duplication and load balancing
z-axis: split similar things via data partitioning/sharding
![Page 21: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/21.jpg)
*never* block*always* asynchronous
![Page 22: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/22.jpg)
Non-blocking Actor messaging, default mailbox, work scheduling is non blocking.
![Page 23: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/23.jpg)
Asynchronous Actors are asynchronous by nature: an actor can progress after a message send without waiting for the actual delivery to happen.
![Page 24: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/24.jpg)
Dispatcher• Selfless: Doesn’t hog resources• Responsible for assigning threads• Only assigns when necessary• Idle actors do not use threads• Dispatcher always paired up with an executor which
will define what kind of thread pool model is used to support the actors
• CPU caches likely each time actors are assigned threads and warmed caches are one of your best friend for high performance.
![Page 25: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/25.jpg)
Fork Join Executor - from 1.4 million to 20 million messages
per second
![Page 26: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/26.jpg)
…and then from 20 million to 50 million messages per second
![Page 27: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/27.jpg)
throughput vs fairness
![Page 28: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/28.jpg)
• CAS compare and swap • Atomic values, adders and accumulators
Even faster in actors
![Page 29: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/29.jpg)
What kinds of machines, with how many cores, will run this application? How CPU-bound are the tasks being performed by my actors? How many threads can I realistically expect to run concurrently for this application on those machines?
Mechanical Sympathy
![Page 30: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/30.jpg)
Akka StreamsImplementation of Reactive Streams, concerned with applying backpressure when producers are faster than consumers.
![Page 31: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/31.jpg)
Artery is designed from the ground up to support high-throughput in
the magnitude of 1 million messages per second and low-latency in the magnitude of 100
microseconds.
![Page 32: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/32.jpg)
• 630,239 messages/s with message payload of 100 bytes• 8,245 messages/s with messages payload of 10,000 bytes• Round trip latency at a message rate of 10,000 messages/s:
– 50%ile: 155 µs, – 90%ile: 173 µs– 99%ile: 196 µs
Artery Aeron Performance
*two m4.4xlarge EC2 instances (1 Gbit/s bandwidth)
![Page 33: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/33.jpg)
Aeron efficient, guaranteed transport.
Designed to work with low-latency, high-throughput systems.
![Page 34: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/34.jpg)
Aeron “Busy Spinning”Message offers or polls are retried until successful.
![Page 35: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/35.jpg)
Tuning: CPU Usage vs Latency# Values can be from 1 to 10, where 10 strongly prefers low latency # and 1 strongly prefers less CPU usage akka.remote.artery.advanced.idle-cpu-level = 1
![Page 36: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/36.jpg)
Aeron Interaction PatternThe unidirectional nature of Aeron channels fits nicely with the Akka peer-to-peercommunication model.
![Page 37: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/37.jpg)
ByteBuffer Based Serialization
![Page 38: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/38.jpg)
ByteBuffer Serializer Interface
![Page 39: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/39.jpg)
Aeron Message Channels
User Messages
InternalControl
Messages
![Page 40: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/40.jpg)
Control stream
![Page 41: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/41.jpg)
All messages are not createdequally
User Messages
InternalControl
Messages
Optional: Large
Messages
![Page 42: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/42.jpg)
Actor Path Compression
![Page 43: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/43.jpg)
Actor Path Compression
Message!
![Page 44: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/44.jpg)
Receiver initiates algorithm
Advertises compression table
Remote sender uses advertised
table
Compression Algorithm
![Page 45: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/45.jpg)
Built-in Flight-Recorder
![Page 46: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/46.jpg)
• Fixed size file• This file is crash resistant• Very low overhead
Flight Recorder
![Page 47: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/47.jpg)
Akka Cluster
![Page 48: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/48.jpg)
• Gossip Protocol• Adaptive load balancing
Akka Cluster
![Page 49: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/49.jpg)
Akka Cluster: GossipThe cluster membership used in Akka is based on Amazon’s Dynamo system and particularly the approach taken in Basho’s’ Riakdistributed database.
![Page 50: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/50.jpg)
Akka Cluster: GossipThe cluster membership used in Akka is based on Amazon’s Dynamo system and particularly the approach taken in Basho’s’ Riakdistributed database.
![Page 51: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/51.jpg)
Akka Cluster: Gossip ConvergenceInformation about the cluster converges locally at a node at certain points in time.
![Page 52: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/52.jpg)
Akka Cluster: Gossip ProtocolA variation of push-pull gossip is used to reduce the amount of gossip information sent around the cluster.
![Page 53: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/53.jpg)
Akka Cluster: Shardingperformance
Cluster Sharding can be scaled in a nearly linear fashion. It can easily handle millions of Actors without much regression in messaging speed or message loss.
![Page 54: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/54.jpg)
20 cluster nodes and 10,000 clustered actors. First we measured the latency given a message throughput of 100 pings per second, and then given a throughput of 500 pings per second.
![Page 55: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/55.jpg)
Akka Cluster: Adaptive Load Balancing
The AdaptiveLoadBalancingPool / AdaptiveLoadBalancingGroup performs load balancing of messages to cluster nodes based on the cluster metrics data.
![Page 56: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/56.jpg)
Akka Cluster: Adaptive Load Balancing
http://blog.kamkor.me/Akka-Cluster-Load-Balancing/
![Page 57: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/57.jpg)
A user’s story
![Page 58: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/58.jpg)
"Powered by Akka and Scala, squbs has already provided very
high-scale results with a low infrastructure footprint: our applications are able to serve over a billion hits a day with as
little as 8 VMs and 2 vCPU each."
PayPal
![Page 59: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/59.jpg)
"Akka helps our systems stay responsive even at 90% CPU, very
uncharacteristic for our older architectures, and provides for transaction densities never seen before. Batches or micro-batches
do their jobs in one-tenth of the time it took before. With wider
adoption, we will see this kind of technology being able to reduce
cost and allow for much better organizational growth without growing the compute infrastructure accordingly."
PayPal
![Page 60: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/60.jpg)
"Not only do we achieve much larger transaction rates with the
same hardware infrastructure, but we also often cut down code by 80% for the same functionality when compared to equivalent
imperative code."
PayPal
![Page 61: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/61.jpg)
Presence Platform display real-time presence status for a member’s connections across LinkedIn messaging, feed, notifications, etc. on both mobile and web for hundreds of millions of LinkedIn members across the globe.
![Page 62: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/62.jpg)
Is it really so Difficult?Akka makes the difficult possible
![Page 63: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/63.jpg)
How can I be confident?• The Actor model is proven• Akka is designed from ground up for
performance on the JVM• Akka scales on all axis X, Y, Z• Other companies have benefited from Akka• You can confidently focus on your core
competencies while using Akka.
![Page 64: Kiki, principal enterprise architect @Lightbend · "Akka helps our systems stay responsive even at 90% CPU, very uncharacteristic for our older architectures, and provides for transaction](https://reader033.fdocuments.in/reader033/viewer/2022041500/5e20eb6d63856f2f366a41f5/html5/thumbnails/64.jpg)
• Akka.io / akka guides• Talk to users, gitter chat• Tweet the akka team: @akkateam• For fun tweet me: @kikisworldrace
Getting started with Akka