SlideShare a Scribd company logo
Presented By: Mohd Alimuddin
Software Trainee Intern
Akka HTTP with
Scala
Lack of etiquette and manners is a huge turn off.
KnolX Etiquettes
Punctuality
Respect Knolx session timings, you
are requested not to join sessions
after a 5 minutes threshold post
the session start time.
Feedback
Make sure to submit a constructive
feedback for all sessions as it is
very helpful for the presenter.
Silent Mode
Keep your mobile devices in silent
mode, feel free to move out of
session in case you need to attend
an urgent call.
Avoid Disturbance
Avoid unwanted chit chat during
the session.
Our Agenda
What is Akka HTTP?
02 What is Akka and Akka Actors?
03 What is Akka Streams?
Marshalling & Unmarshalling
05
Low-Level API
01
04
05
High-Level API
06
07 Demo
What is Akka HTTP?
● Akka HTTP is a suite of libraries whose focuses is on HTTP integration of an
application.
● Akka HTTP is based on Akka actors and Akka streams.
● It is fully asynchronous and non blocking.
● Akka HTTP is not a framework but a toolkit which means it can be used on the
top of other framework such as Play and Lagom.
What is Akka and Akka Actors?
● Akka is an free and open source toolkit which is used to make highly
concurrent, distributed and fault tolerant applications on JVM.
● Akka uses actor model system which first introduced by Carl Eddie Hewitt in
1973.
● Actors represents computation unit which encapsulates its state and
application logic.
● Each actors uses asynchronous messages to interact with other actors and
actors uses mailbox to process all the messages.
Akka Actors
● Messages are handled by Message Handler and are extracted from the
mailbox in order of FIFO.
● Actors guarantees the message order is always maintained.
● Actors guarantees the messages are never duplicated.
What is Akka streams ?
● Akka streams implements Reactive streams using Akka actors concurrent
model.
● Akka streams has three major components Source, Flow and Sink which are
equivalent of Publisher, Processor and Subscriber.
● Source emits element or data asynchronously
● Flow transform elements, can perform computations
● Sink receives elements
Source
Flow
Sink
Marshalling and Unmarshalling
● In Akka HTTP, marshalling means the conversion of an object of type T into a
lower-level target, e.g a MessageEntity or HttpRequest or HttpResponse.
Marshalling is also known as Serialization or Pickling.
● In Akka HTTP, unmarshalling means the conversion of a lower-level source
object e.g MessageEntity or HttpRequest or HttpResponse into a instance of
type T. Unmarshalling is also known as Deserialization or Unpickling
Low-Level API
● The low-level Akka HTTP server API allows for handling connections or individual
request by accepting HTTP Requests and answering them by producing HTTP
Responses.
● This is provided by the akka-http-core module.
● Low Level API based simply on mapping request to response.
High-Level API
● Low Level API becomes uneasy to handle when we need to create a large
number of routes and complex applications. To solve this we use High-Level
API.
● High-Level API can be divided into two important parts-
● Directives
● Routes
Directives & Routes
● A Directives is a small building block used for creating arbitrary complex
route structures.
● Routes are highly specialized functions that take a RequestContext and
eventually complete it which happens asynchronously.
● Each Routes is composed of one or more Directives that handles one specific
kind of request.
type Route = RequestContext => Future[RouteResult]
Demo
Q&A
Thank You

More Related Content

What's hot (20)

PPTX
Apache Apex Kafka Input Operator
Apache Apex
 
PDF
Introduction to Akka
Knoldus Inc.
 
PPTX
Project Reactor By Example
Denny Abraham Cheriyan
 
PDF
Making Scala Faster: 3 Expert Tips For Busy Development Teams
Lightbend
 
PPTX
Reactive programming
saykopatt
 
PDF
Building High-Throughput, Low-Latency Pipelines in Kafka
confluent
 
PDF
Transactions in micro-services (fall 2019)
Rudy De Busscher
 
PDF
Load test REST APIs using gatling
Jayaram Sankaranarayanan
 
PDF
Control and monitor_microservices_with_microprofile
Rudy De Busscher
 
PPTX
Taking Akka Streams & Akka Http to Large Scale Production Applications
Akara Sucharitakul
 
PPTX
Developing distributed applications with Akka and Akka Cluster
Konstantin Tsykulenko
 
PPTX
Apache Apex connector with Kafka 0.9 consumer API
Apache Apex
 
ODP
Kafka aws
Ariel Moskovich
 
PPTX
Stream data from Apache Kafka for processing with Apache Apex
Apache Apex
 
PDF
Memphis php 01 22-13 - laravel basics
Joe Ferguson
 
ODP
Stream processing using Kafka
Knoldus Inc.
 
PDF
Introduction to reactive programming
Leapfrog Technology Inc.
 
ODP
Introduction to Apache Kafka- Part 1
Knoldus Inc.
 
PPTX
Reactive Micro Services with Java seminar
Gal Marder
 
PDF
Introducing Confluent labs Parallel Consumer client | Anthony Stubbes, Confluent
HostedbyConfluent
 
Apache Apex Kafka Input Operator
Apache Apex
 
Introduction to Akka
Knoldus Inc.
 
Project Reactor By Example
Denny Abraham Cheriyan
 
Making Scala Faster: 3 Expert Tips For Busy Development Teams
Lightbend
 
Reactive programming
saykopatt
 
Building High-Throughput, Low-Latency Pipelines in Kafka
confluent
 
Transactions in micro-services (fall 2019)
Rudy De Busscher
 
Load test REST APIs using gatling
Jayaram Sankaranarayanan
 
Control and monitor_microservices_with_microprofile
Rudy De Busscher
 
Taking Akka Streams & Akka Http to Large Scale Production Applications
Akara Sucharitakul
 
Developing distributed applications with Akka and Akka Cluster
Konstantin Tsykulenko
 
Apache Apex connector with Kafka 0.9 consumer API
Apache Apex
 
Kafka aws
Ariel Moskovich
 
Stream data from Apache Kafka for processing with Apache Apex
Apache Apex
 
Memphis php 01 22-13 - laravel basics
Joe Ferguson
 
Stream processing using Kafka
Knoldus Inc.
 
Introduction to reactive programming
Leapfrog Technology Inc.
 
Introduction to Apache Kafka- Part 1
Knoldus Inc.
 
Reactive Micro Services with Java seminar
Gal Marder
 
Introducing Confluent labs Parallel Consumer client | Anthony Stubbes, Confluent
HostedbyConfluent
 

Similar to Akka HTTP with Scala (20)

PDF
High Level Server API - Akka Http.pdf
Knoldus Inc.
 
PPTX
Understanding Akka WebSockets A Comprehensive Guide.pptx
Knoldus Inc.
 
PPTX
Understanding Akka WebSockets A Comprehensive Guide
Knoldus Inc.
 
PDF
Introduction to Kafka Streams - Knolx.pdf
Knoldus Inc.
 
PPTX
Akka for big data developers
Taras Fedorov
 
ODP
Akka http
Knoldus Inc.
 
PPTX
A Deeper Look Into Reactive Streams with Akka Streams 1.0 and Slick 3.0
Legacy Typesafe (now Lightbend)
 
PDF
Twitter Finagle
Knoldus Inc.
 
PDF
Integrating Apache Kafka Into Your Environment
confluent
 
PDF
Getting Started with Akka Streams
Knoldus Inc.
 
PDF
Akka Http , Routes, Streams with Scala
Jerry Kuru
 
PPTX
Kafka PPT.pptx
SRIRAMKIRAN9
 
PDF
Understanding Akka Streams, Back Pressure, and Asynchronous Architectures
Lightbend
 
PPTX
A Short Presentation on Kafka
Mostafa Jubayer Khan
 
PDF
Build Real-Time Streaming ETL Pipelines With Akka Streams, Alpakka And Apache...
Lightbend
 
PPTX
Kafka.pptx (uploaded from MyFiles SomnathDeb_PC)
somnathdeb0212
 
PDF
Akka gRPC quick-guide
Knoldus Inc.
 
PDF
Akka gRPC quick-guide
Knoldus Inc.
 
PDF
Getting Data In and Out of Flink - Understanding Flink and Its Connector Ecos...
HostedbyConfluent
 
PPTX
Reactive Streams - László van den Hoek
RubiX BV
 
High Level Server API - Akka Http.pdf
Knoldus Inc.
 
Understanding Akka WebSockets A Comprehensive Guide.pptx
Knoldus Inc.
 
Understanding Akka WebSockets A Comprehensive Guide
Knoldus Inc.
 
Introduction to Kafka Streams - Knolx.pdf
Knoldus Inc.
 
Akka for big data developers
Taras Fedorov
 
Akka http
Knoldus Inc.
 
A Deeper Look Into Reactive Streams with Akka Streams 1.0 and Slick 3.0
Legacy Typesafe (now Lightbend)
 
Twitter Finagle
Knoldus Inc.
 
Integrating Apache Kafka Into Your Environment
confluent
 
Getting Started with Akka Streams
Knoldus Inc.
 
Akka Http , Routes, Streams with Scala
Jerry Kuru
 
Kafka PPT.pptx
SRIRAMKIRAN9
 
Understanding Akka Streams, Back Pressure, and Asynchronous Architectures
Lightbend
 
A Short Presentation on Kafka
Mostafa Jubayer Khan
 
Build Real-Time Streaming ETL Pipelines With Akka Streams, Alpakka And Apache...
Lightbend
 
Kafka.pptx (uploaded from MyFiles SomnathDeb_PC)
somnathdeb0212
 
Akka gRPC quick-guide
Knoldus Inc.
 
Akka gRPC quick-guide
Knoldus Inc.
 
Getting Data In and Out of Flink - Understanding Flink and Its Connector Ecos...
HostedbyConfluent
 
Reactive Streams - László van den Hoek
RubiX BV
 
Ad

More from Knoldus Inc. (20)

PPTX
Angular Hydration Presentation (FrontEnd)
Knoldus Inc.
 
PPTX
Optimizing Test Execution: Heuristic Algorithm for Self-Healing
Knoldus Inc.
 
PPTX
Self-Healing Test Automation Framework - Healenium
Knoldus Inc.
 
PPTX
Kanban Metrics Presentation (Project Management)
Knoldus Inc.
 
PPTX
Java 17 features and implementation.pptx
Knoldus Inc.
 
PPTX
Chaos Mesh Introducing Chaos in Kubernetes
Knoldus Inc.
 
PPTX
GraalVM - A Step Ahead of JVM Presentation
Knoldus Inc.
 
PPTX
Nomad by HashiCorp Presentation (DevOps)
Knoldus Inc.
 
PPTX
Nomad by HashiCorp Presentation (DevOps)
Knoldus Inc.
 
PPTX
DAPR - Distributed Application Runtime Presentation
Knoldus Inc.
 
PPTX
Introduction to Azure Virtual WAN Presentation
Knoldus Inc.
 
PPTX
Introduction to Argo Rollouts Presentation
Knoldus Inc.
 
PPTX
Intro to Azure Container App Presentation
Knoldus Inc.
 
PPTX
Insights Unveiled Test Reporting and Observability Excellence
Knoldus Inc.
 
PPTX
Introduction to Splunk Presentation (DevOps)
Knoldus Inc.
 
PPTX
Code Camp - Data Profiling and Quality Analysis Framework
Knoldus Inc.
 
PPTX
AWS: Messaging Services in AWS Presentation
Knoldus Inc.
 
PPTX
Amazon Cognito: A Primer on Authentication and Authorization
Knoldus Inc.
 
PPTX
ZIO Http A Functional Approach to Scalable and Type-Safe Web Development
Knoldus Inc.
 
PPTX
Managing State & HTTP Requests In Ionic.
Knoldus Inc.
 
Angular Hydration Presentation (FrontEnd)
Knoldus Inc.
 
Optimizing Test Execution: Heuristic Algorithm for Self-Healing
Knoldus Inc.
 
Self-Healing Test Automation Framework - Healenium
Knoldus Inc.
 
Kanban Metrics Presentation (Project Management)
Knoldus Inc.
 
Java 17 features and implementation.pptx
Knoldus Inc.
 
Chaos Mesh Introducing Chaos in Kubernetes
Knoldus Inc.
 
GraalVM - A Step Ahead of JVM Presentation
Knoldus Inc.
 
Nomad by HashiCorp Presentation (DevOps)
Knoldus Inc.
 
Nomad by HashiCorp Presentation (DevOps)
Knoldus Inc.
 
DAPR - Distributed Application Runtime Presentation
Knoldus Inc.
 
Introduction to Azure Virtual WAN Presentation
Knoldus Inc.
 
Introduction to Argo Rollouts Presentation
Knoldus Inc.
 
Intro to Azure Container App Presentation
Knoldus Inc.
 
Insights Unveiled Test Reporting and Observability Excellence
Knoldus Inc.
 
Introduction to Splunk Presentation (DevOps)
Knoldus Inc.
 
Code Camp - Data Profiling and Quality Analysis Framework
Knoldus Inc.
 
AWS: Messaging Services in AWS Presentation
Knoldus Inc.
 
Amazon Cognito: A Primer on Authentication and Authorization
Knoldus Inc.
 
ZIO Http A Functional Approach to Scalable and Type-Safe Web Development
Knoldus Inc.
 
Managing State & HTTP Requests In Ionic.
Knoldus Inc.
 
Ad

Recently uploaded (20)

PDF
Rethinking Security Operations - SOC Evolution Journey.pdf
Haris Chughtai
 
PDF
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
PDF
CloudStack GPU Integration - Rohit Yadav
ShapeBlue
 
PPTX
Top Managed Service Providers in Los Angeles
Captain IT
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
Predicting the unpredictable: re-engineering recommendation algorithms for fr...
Speck&Tech
 
PPTX
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
PDF
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
PPTX
MSP360 Backup Scheduling and Retention Best Practices.pptx
MSP360
 
PPTX
Building a Production-Ready Barts Health Secure Data Environment Tooling, Acc...
Barts Health
 
PDF
TrustArc Webinar - Data Privacy Trends 2025: Mid-Year Insights & Program Stra...
TrustArc
 
PPTX
Darren Mills The Migration Modernization Balancing Act: Navigating Risks and...
AWS Chicago
 
PDF
Why Orbit Edge Tech is a Top Next JS Development Company in 2025
mahendraalaska08
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PDF
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
PDF
Français Patch Tuesday - Juillet
Ivanti
 
PDF
Blockchain Transactions Explained For Everyone
CIFDAQ
 
PPTX
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
PDF
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
Rethinking Security Operations - SOC Evolution Journey.pdf
Haris Chughtai
 
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
CloudStack GPU Integration - Rohit Yadav
ShapeBlue
 
Top Managed Service Providers in Los Angeles
Captain IT
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
Predicting the unpredictable: re-engineering recommendation algorithms for fr...
Speck&Tech
 
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
MSP360 Backup Scheduling and Retention Best Practices.pptx
MSP360
 
Building a Production-Ready Barts Health Secure Data Environment Tooling, Acc...
Barts Health
 
TrustArc Webinar - Data Privacy Trends 2025: Mid-Year Insights & Program Stra...
TrustArc
 
Darren Mills The Migration Modernization Balancing Act: Navigating Risks and...
AWS Chicago
 
Why Orbit Edge Tech is a Top Next JS Development Company in 2025
mahendraalaska08
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
Français Patch Tuesday - Juillet
Ivanti
 
Blockchain Transactions Explained For Everyone
CIFDAQ
 
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 

Akka HTTP with Scala

  • 1. Presented By: Mohd Alimuddin Software Trainee Intern Akka HTTP with Scala
  • 2. Lack of etiquette and manners is a huge turn off. KnolX Etiquettes Punctuality Respect Knolx session timings, you are requested not to join sessions after a 5 minutes threshold post the session start time. Feedback Make sure to submit a constructive feedback for all sessions as it is very helpful for the presenter. Silent Mode Keep your mobile devices in silent mode, feel free to move out of session in case you need to attend an urgent call. Avoid Disturbance Avoid unwanted chit chat during the session.
  • 3. Our Agenda What is Akka HTTP? 02 What is Akka and Akka Actors? 03 What is Akka Streams? Marshalling & Unmarshalling 05 Low-Level API 01 04 05 High-Level API 06 07 Demo
  • 4. What is Akka HTTP? ● Akka HTTP is a suite of libraries whose focuses is on HTTP integration of an application. ● Akka HTTP is based on Akka actors and Akka streams. ● It is fully asynchronous and non blocking. ● Akka HTTP is not a framework but a toolkit which means it can be used on the top of other framework such as Play and Lagom.
  • 5. What is Akka and Akka Actors? ● Akka is an free and open source toolkit which is used to make highly concurrent, distributed and fault tolerant applications on JVM. ● Akka uses actor model system which first introduced by Carl Eddie Hewitt in 1973. ● Actors represents computation unit which encapsulates its state and application logic. ● Each actors uses asynchronous messages to interact with other actors and actors uses mailbox to process all the messages.
  • 6. Akka Actors ● Messages are handled by Message Handler and are extracted from the mailbox in order of FIFO. ● Actors guarantees the message order is always maintained. ● Actors guarantees the messages are never duplicated.
  • 7. What is Akka streams ? ● Akka streams implements Reactive streams using Akka actors concurrent model. ● Akka streams has three major components Source, Flow and Sink which are equivalent of Publisher, Processor and Subscriber. ● Source emits element or data asynchronously ● Flow transform elements, can perform computations ● Sink receives elements Source Flow Sink
  • 8. Marshalling and Unmarshalling ● In Akka HTTP, marshalling means the conversion of an object of type T into a lower-level target, e.g a MessageEntity or HttpRequest or HttpResponse. Marshalling is also known as Serialization or Pickling. ● In Akka HTTP, unmarshalling means the conversion of a lower-level source object e.g MessageEntity or HttpRequest or HttpResponse into a instance of type T. Unmarshalling is also known as Deserialization or Unpickling
  • 9. Low-Level API ● The low-level Akka HTTP server API allows for handling connections or individual request by accepting HTTP Requests and answering them by producing HTTP Responses. ● This is provided by the akka-http-core module. ● Low Level API based simply on mapping request to response.
  • 10. High-Level API ● Low Level API becomes uneasy to handle when we need to create a large number of routes and complex applications. To solve this we use High-Level API. ● High-Level API can be divided into two important parts- ● Directives ● Routes
  • 11. Directives & Routes ● A Directives is a small building block used for creating arbitrary complex route structures. ● Routes are highly specialized functions that take a RequestContext and eventually complete it which happens asynchronously. ● Each Routes is composed of one or more Directives that handles one specific kind of request. type Route = RequestContext => Future[RouteResult]
  • 12. Demo
  • 13. Q&A