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

PDF
Building REST API using Akka HTTP with Scala
PDF
Alpakka:Intergating Akka-Streams with different technology
PDF
Introduction to Akka Streams
PPTX
Quick Tour On Zeppelin
PPTX
Typesafe Reactive Platform: Monitoring 1.0, Commercial features and more
PDF
Understanding Reactive Programming
PPTX
Reactive programming intro
PPTX
Java 8
Building REST API using Akka HTTP with Scala
Alpakka:Intergating Akka-Streams with different technology
Introduction to Akka Streams
Quick Tour On Zeppelin
Typesafe Reactive Platform: Monitoring 1.0, Commercial features and more
Understanding Reactive Programming
Reactive programming intro
Java 8

What's hot (20)

PPTX
Apache Apex Kafka Input Operator
PDF
Introduction to Akka
PPTX
Project Reactor By Example
PDF
Making Scala Faster: 3 Expert Tips For Busy Development Teams
PPTX
Reactive programming
PDF
Building High-Throughput, Low-Latency Pipelines in Kafka
PDF
Transactions in micro-services (fall 2019)
PDF
Load test REST APIs using gatling
PDF
Control and monitor_microservices_with_microprofile
PPTX
Taking Akka Streams & Akka Http to Large Scale Production Applications
PPTX
Developing distributed applications with Akka and Akka Cluster
PPTX
Apache Apex connector with Kafka 0.9 consumer API
ODP
Kafka aws
PPTX
Stream data from Apache Kafka for processing with Apache Apex
PDF
Memphis php 01 22-13 - laravel basics
ODP
Stream processing using Kafka
PDF
Introduction to reactive programming
ODP
Introduction to Apache Kafka- Part 1
PPTX
Reactive Micro Services with Java seminar
PDF
Introducing Confluent labs Parallel Consumer client | Anthony Stubbes, Confluent
Apache Apex Kafka Input Operator
Introduction to Akka
Project Reactor By Example
Making Scala Faster: 3 Expert Tips For Busy Development Teams
Reactive programming
Building High-Throughput, Low-Latency Pipelines in Kafka
Transactions in micro-services (fall 2019)
Load test REST APIs using gatling
Control and monitor_microservices_with_microprofile
Taking Akka Streams & Akka Http to Large Scale Production Applications
Developing distributed applications with Akka and Akka Cluster
Apache Apex connector with Kafka 0.9 consumer API
Kafka aws
Stream data from Apache Kafka for processing with Apache Apex
Memphis php 01 22-13 - laravel basics
Stream processing using Kafka
Introduction to reactive programming
Introduction to Apache Kafka- Part 1
Reactive Micro Services with Java seminar
Introducing Confluent labs Parallel Consumer client | Anthony Stubbes, Confluent
Ad

Similar to Akka HTTP with Scala (20)

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

More from Knoldus Inc. (20)

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

Recently uploaded (20)

PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
Machine learning based COVID-19 study performance prediction
PDF
Electronic commerce courselecture one. Pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
Big Data Technologies - Introduction.pptx
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Approach and Philosophy of On baking technology
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
Spectroscopy.pptx food analysis technology
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
Per capita expenditure prediction using model stacking based on satellite ima...
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Unlocking AI with Model Context Protocol (MCP)
Building Integrated photovoltaic BIPV_UPV.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
Assigned Numbers - 2025 - Bluetooth® Document
A comparative analysis of optical character recognition models for extracting...
Machine learning based COVID-19 study performance prediction
Electronic commerce courselecture one. Pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Big Data Technologies - Introduction.pptx
Encapsulation_ Review paper, used for researhc scholars
The Rise and Fall of 3GPP – Time for a Sabbatical?
Approach and Philosophy of On baking technology
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Chapter 3 Spatial Domain Image Processing.pdf
Spectral efficient network and resource selection model in 5G networks
Spectroscopy.pptx food analysis technology
Diabetes mellitus diagnosis method based random forest with bat algorithm
20250228 LYD VKU AI Blended-Learning.pptx

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