Microservices in Scala

Microservices in Scala

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 1h 39m | 1.40 GB

Design and build scalable systems with Scala

Microservices is an architectural style and pattern that is becoming hugely popular and is adopted by many organizations because of the advantages that it offers. It is an approach to building asynchronous, non-blocking, and failure-resilient applications.

This course focuses on building microservices in Scala. It addresses the best practices and common pitfalls in microservice architecture and useful implementation strategies in Scala. We start by shedding light on traditional monoliths, Service Oriented Architecture (SOA), and how microservices evolved from it. Next we move on to explain the Play framework and build a small but working application. You will understand the importance of writing code that is asynchronous and non-blocking and how Play helps us do this. Later, the video explains how to build Reactive microservices using Akka and Akka HTTP, which adhere to the principles underlying the Reactive Manifesto. Next, we explore building high-throughput and resilient applications in some detail. At the end of the video, we explore Lagom and how it incorporates best practices to avoid common pitfalls.

What You Will Learn

  • Learn to improve the scalability and responsiveness of your application
  • Gather proper metrics and configure health checks
  • Build working applications using Play Framework
  • Explore how to use HTTP properly
  • Solve different problems, comparing them with the Monolithic approach to architecture
  • Write performance tests for a microservice
Table of Contents

Introduction to Microservices Word
Advantages of Microservices Approach
Disadvantages of Monolithic Applications
Challenges and Problems in Building Microservices
Service Discovery
Deployment – Embedded Containers Versus Server Containers Like Tomcat
Monitoring – Gathering Proper Metrics and Configuring Health Checks
Configuration Service – Storing Services Common Configuration
Log aggregation – Aggregating and Storing Logs from Multiple Instances of Multiple Services
Asynchronous Versus Thread-Per-Request Processing
Microservices Should be Resilient – Tolerating Failures
REST/HTTP as a Communication Protocol
Service Clients Library for Easier Communication Between Services

Building Microservices in Play Framework
Start Project Using Play Framework
Introduction to Play Framework
Getting to Know Core API
Creating Controllers of Our Microservice
Writing Test for Controllers
Making Logic Asynchronous and Non-Blocking
Writing Performance Tests for a Microservice