Training Courses

Getting Productive with Scala, Akka, Kafka & Elasticsearch

The 5 day Scala, Akka, Kafka and Elasticsearch course is aimed at developers who are encountering Scala for the first time and want to understand how their knowledge of object oriented and functional programming idioms carries over to and is deepened in this exciting new language. It also covers how to get started with Akka which is becoming the de facto for any enterprise scale Scala development. The course further indulges into Kafka and Elasticsearch to show how these technologies together can help in building a Fast Data platform.

It covers Scala from basic syntax and language constructs, through its distinctive object oriented characteristics and on to functional programming styles and pattern matching as applied to Scala's extensive collections framework. You would also learn how to apply the tools and services provided by Akka to build high performance, fault tolerant systems that scale. You would learn to how to introduce Kafka and Elasticsearch for building the fast data products which go beyond the big data needs.

The course has a practical focus, mixing presentation with in depth hands on labs and exercises.

Day 1

Introducing the syntax.
Primitive and simple types.
Control constructs.
Classes and case classes.
Traits.
Objects.
Functions.
Mutability & Immutability.
Lists & Buffers.
Sets & Maps.
Arrays.
For comprehensions.
Interoperability with Java.
Streams.
Options.
Revisiting for comprehensions.
Higher order functions.
Monads.
Objects & modules.
Traits and mixin composition.
Self types.
Parameterized and abstract types.
Structural types.

Day 2

Structural recursion.
Kinds of pattern.
Matching with Lists and Options.
Pattern matching vs. higher order functions.
Pattern matching in unexpected places.
Pattern matching generalized.
Concurrency, scalability and fault tolerance.
Understanding Actors.
By name parameters.
Local methods.
Recursion and tail recursion.
Partial functions.
Currying.
Partially applied functions.
The power of folding.

Day 3

Test Driven Development with Actors.
Actor lifecycle.
Fault Tolerance with Actors.
Messaging with Akka.
Understanding Dispatchers.
Understanding Routers.
Distributed communication with Akka.
Clustering basics.

Day 4

Kafka.
Kafka Architecture.
Partitions.
Topics
Replicas.
Producers & Consumers.
Brokers.
Reading From Kafka.
High Level Consumer API.
Simple/Direct Consumer API.
Writing To Kafka.
Producer API.
Sync Producers.
Async Producers.
Message Acknowledgement.
Batching Messages.
Keyed and Non-Keyed Messages.
Configuration Settings.
Reading From Kafka.
Broker Configuration Settings.
Consumer Configuration Settings.
Producer Configuration Settings.
Configuring Compression.

Day 5

Elasticsearch.
Analyse.
Visualise.
Search Data.
Queries.
Filters.
Best Practices.
Full text search.
Indexes.
Mapping features of Elasticsearch.
Installation and deployment.

Course Prerequisites

To benefit from this course you should have 1-2 years experience with an object oriented (eg. Java, C#) or functional (eg. Haskell, Scheme) programming language and a good general understanding of object oriented or functional programming language concepts. Knowledge of any distributed system is a plus.

For more information on the course or a discussion on your custom need, send a mail to hello@knoldus.com.

Please fill up the form, to begin the training of leading technologies:

Thank you for your interest. Someone from Knoldus Inc. will get in touch with you soon!
Awards and Recognition
UPCOMING
MEET-UP

Explore why Rust is being touted as the next big language in the IT landscape! | Dec 21, 2019. Join us!