SlideShare a Scribd company logo
www.luxoft.com
Asynchronous
Messaging in
Distributed Systems
with Akka
www.luxoft.com
Forex Trading Challenges:
 High data refresh rate
 Strict requirements for order execution time
 Stateful algorithms
www.luxoft.com
Trading related solutions:
 OpenHFT: chronicle family, quickfix
 LMAX: disruptor, nanofix, collections
 CoralBlocks
www.luxoft.com
Akka is a toolkit for building highly
concurrent, distributed, and resilient
message-driven applications
www.luxoft.com
Async network communication:
 NIO
 Netty
 Apache MINA
 CoralReactor
www.luxoft.com
Akka I/O:
The guiding design goal for this I/O implementation was to reach extreme scalability,
make no compromises in providing an API correctly matching the underlying transport
mechanism and to be fully event-driven, non-blocking and asynchronous.
● Support of different transports
● DeathWatch and Resource Management
● Write models (Ack, Nack)
● ByteString
www.luxoft.com
Publisher/subscriber:
Transport: HTTP + Stomp
Alternatives: See queues.io
●
Apache Kafka
●
Rabbit MQ
www.luxoft.com
Piggyback:
Point-to-Point communication with acknowledgement
Transport: TCP
Alternatives: JMS implementations, etc
www.luxoft.com
Full Duplex:
Bi-directional communication. Requests from client to server
with async response
Transport: TCP
Alternatives: gRPC
www.luxoft.com
RPC:
Yep, blocking requests with non-blocking Akka I/O. Because
we can!
Transport: TCP
Alternatives: gRPC, Apache Thrift, Apache Avro
www.luxoft.com
Serialization:
 Protostuff
A serialization library with built-in support for forward-backward compatibility
(schema evolution) and validation
 Kryo
www.luxoft.com
Pros:
 Monitoring
 Simplified maintenance
 Improvement for business needs
Cons:
 Testability
 Code is your documentation
 Learning curve
www.luxoft.com
My Precious
www.luxoft.comwww.luxoft.com
THANK YOU!

More Related Content

PDF
A prototype of utilizing Apache Kafka and Lightweight M2M protocol as the bac...
PDF
Deploying JBoss A-MQ in a high availability (HA) environment
PPTX
Monoliths to Microservices: App Transformation - Jacksonville Workshop Slides
PDF
Understanding and Using Client JBoss A-MQ APIs
PDF
London JBUG - Connecting Applications Everywhere with JBoss A-MQ
PDF
Scaling out eclipse hono
PDF
Messaging for the cloud
PDF
Exposing and Controlling Kafka Event Streaming with Kong Konnect Enterprise |...
A prototype of utilizing Apache Kafka and Lightweight M2M protocol as the bac...
Deploying JBoss A-MQ in a high availability (HA) environment
Monoliths to Microservices: App Transformation - Jacksonville Workshop Slides
Understanding and Using Client JBoss A-MQ APIs
London JBUG - Connecting Applications Everywhere with JBoss A-MQ
Scaling out eclipse hono
Messaging for the cloud
Exposing and Controlling Kafka Event Streaming with Kong Konnect Enterprise |...

What's hot (8)

PDF
Distributed Enterprise Monitoring and Management of Apache Kafka (William McL...
PPTX
Apache Kafka vs RabbitMQ: Fit For Purpose / Decision Tree
PDF
Resilient Enterprise Messaging with JBoss A-MQ - DevNation 2014
ODP
The Internet of Things ... Babel
PPTX
Messaging-as-a-Service Rivieradev 2017
PDF
Taming a massive fleet of Python-based Kafka apps at Robinhood | Chandra Kuch...
PPTX
High Availability OpenStack at PayPal - OpenStack Summit Fall Hong Kong 2013
PDF
The Service Mesh: It's about Traffic
Distributed Enterprise Monitoring and Management of Apache Kafka (William McL...
Apache Kafka vs RabbitMQ: Fit For Purpose / Decision Tree
Resilient Enterprise Messaging with JBoss A-MQ - DevNation 2014
The Internet of Things ... Babel
Messaging-as-a-Service Rivieradev 2017
Taming a massive fleet of Python-based Kafka apps at Robinhood | Chandra Kuch...
High Availability OpenStack at PayPal - OpenStack Summit Fall Hong Kong 2013
The Service Mesh: It's about Traffic
Ad

Similar to Viktor Chesnokov "Asynchronous Messaging in Distributed Systems with Akka" (20)

PDF
Apache Kafka and Blockchain - Comparison and a Kafka-native Implementation
PDF
Budapest Data/ML - Building Modern Data Streaming Apps with NiFi, Flink and K...
PDF
OSSNA Building Modern Data Streaming Apps
PDF
Confluent REST Proxy and Schema Registry (Concepts, Architecture, Features)
PDF
A Tour of Apache Kafka
PDF
Building a Secure, Tamper-Proof & Scalable Blockchain on Top of Apache Kafka ...
PPTX
Kafka Basic For Beginners
PDF
Let the alpakka pull your stream
PDF
Serverless Event Streaming Applications as Functions on K8
PPTX
Apache Kafka: Next Generation Distributed Messaging System
PDF
Cluster_Performance_Apache_Kafak_vs_RabbitMQ
PDF
Kafka at the Edge: an IoT scenario with OpenShift Streams for Apache Kafka | ...
PDF
Kubernetes connectivity to Cloud Native Kafka | Evan Shortiss and Hugo Guerre...
PDF
Introducing Confluent Cloud: Apache Kafka as a Service
PDF
Architecture patterns for distributed, hybrid, edge and global Apache Kafka d...
PDF
Microservices Integration Patterns with Kafka
PDF
Big Data Streams Architectures. Why? What? How?
PDF
PDF
Integrating Apache Kafka Into Your Environment
PDF
Introduction to Apache Kafka and Confluent... and why they matter!
Apache Kafka and Blockchain - Comparison and a Kafka-native Implementation
Budapest Data/ML - Building Modern Data Streaming Apps with NiFi, Flink and K...
OSSNA Building Modern Data Streaming Apps
Confluent REST Proxy and Schema Registry (Concepts, Architecture, Features)
A Tour of Apache Kafka
Building a Secure, Tamper-Proof & Scalable Blockchain on Top of Apache Kafka ...
Kafka Basic For Beginners
Let the alpakka pull your stream
Serverless Event Streaming Applications as Functions on K8
Apache Kafka: Next Generation Distributed Messaging System
Cluster_Performance_Apache_Kafak_vs_RabbitMQ
Kafka at the Edge: an IoT scenario with OpenShift Streams for Apache Kafka | ...
Kubernetes connectivity to Cloud Native Kafka | Evan Shortiss and Hugo Guerre...
Introducing Confluent Cloud: Apache Kafka as a Service
Architecture patterns for distributed, hybrid, edge and global Apache Kafka d...
Microservices Integration Patterns with Kafka
Big Data Streams Architectures. Why? What? How?
Integrating Apache Kafka Into Your Environment
Introduction to Apache Kafka and Confluent... and why they matter!
Ad

More from LogeekNightUkraine (20)

PPTX
Face recognition with c++
PPTX
C++20 features
PPTX
Autonomous driving on your developer pc. technologies, approaches, future
PDF
Orkhan Gasimov "High Performance System Design"
PPTX
Vitalii Korzh "Managed Workflows or How to Master Data"
PDF
Yevhen Tatarynov "From POC to High-Performance .NET applications"
PDF
Oleksii Kuchuk "Reading gauge values with open cv imgproc"
PDF
Oleksandr Kutsan "Using katai struct to describe the process of working with ...
PDF
Pavlo Zhdanov "Mastering solid and base principles for software design"
PDF
Serhii Zemlianyi "Error Retries with Exponential Backoff Using RabbitMQ"
PDF
Iurii Antykhovych "Java and performance tools and toys"
PDF
Eugene Bova "Dapr (Distributed Application Runtime) in a Microservices Archit...
PPTX
Aleksandr Kutsan "Managing Dependencies in C++"
PDF
Yevhen Tatarynov "My .NET Application Allocates too Much Memory. What Can I Do?"
PDF
Alexandr Golyak, Nikolay Chertkov "Automotive Testing vs Test Automatio"
PPTX
Michal Kordas "Docker: Good, Bad or Both"
PPTX
Kolomiyets Dmytro "Dealing with Multiple Caches, When Developing Microservices"
PPTX
Shestakov Illia "The Sandbox Theory"
PPTX
Dmytro Kochergin “Autotest with CYPRESS”
PPTX
Ivan Dryzhyruk “Ducks Don’t Like Bugs”
Face recognition with c++
C++20 features
Autonomous driving on your developer pc. technologies, approaches, future
Orkhan Gasimov "High Performance System Design"
Vitalii Korzh "Managed Workflows or How to Master Data"
Yevhen Tatarynov "From POC to High-Performance .NET applications"
Oleksii Kuchuk "Reading gauge values with open cv imgproc"
Oleksandr Kutsan "Using katai struct to describe the process of working with ...
Pavlo Zhdanov "Mastering solid and base principles for software design"
Serhii Zemlianyi "Error Retries with Exponential Backoff Using RabbitMQ"
Iurii Antykhovych "Java and performance tools and toys"
Eugene Bova "Dapr (Distributed Application Runtime) in a Microservices Archit...
Aleksandr Kutsan "Managing Dependencies in C++"
Yevhen Tatarynov "My .NET Application Allocates too Much Memory. What Can I Do?"
Alexandr Golyak, Nikolay Chertkov "Automotive Testing vs Test Automatio"
Michal Kordas "Docker: Good, Bad or Both"
Kolomiyets Dmytro "Dealing with Multiple Caches, When Developing Microservices"
Shestakov Illia "The Sandbox Theory"
Dmytro Kochergin “Autotest with CYPRESS”
Ivan Dryzhyruk “Ducks Don’t Like Bugs”

Recently uploaded (20)

PPT
Teaching material agriculture food technology
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Empathic Computing: Creating Shared Understanding
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Spectroscopy.pptx food analysis technology
PDF
Electronic commerce courselecture one. Pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Approach and Philosophy of On baking technology
PDF
Machine learning based COVID-19 study performance prediction
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Encapsulation_ Review paper, used for researhc scholars
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Big Data Technologies - Introduction.pptx
Teaching material agriculture food technology
Advanced methodologies resolving dimensionality complications for autism neur...
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Chapter 3 Spatial Domain Image Processing.pdf
Empathic Computing: Creating Shared Understanding
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Digital-Transformation-Roadmap-for-Companies.pptx
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Spectroscopy.pptx food analysis technology
Electronic commerce courselecture one. Pdf
Spectral efficient network and resource selection model in 5G networks
Approach and Philosophy of On baking technology
Machine learning based COVID-19 study performance prediction
MYSQL Presentation for SQL database connectivity
Encapsulation_ Review paper, used for researhc scholars
The AUB Centre for AI in Media Proposal.docx
Assigned Numbers - 2025 - Bluetooth® Document
Reach Out and Touch Someone: Haptics and Empathic Computing
Big Data Technologies - Introduction.pptx

Viktor Chesnokov "Asynchronous Messaging in Distributed Systems with Akka"