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 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 a 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.
Analyze.
Visualize.
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.

Success!

Thank you for showing your interest. Someone from Knoldus Inc. will get in touch with you soon!

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!
Trusted by innovative organizations, big and small.
Awards and Recognitions
Upcoming webinar:

Akka Clustering & Sharding made easy Register Now!