O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Learning Path: Microservices with Java, Scala, and Akka

Video Description

Build smaller, lighter, and faster microservices for JVM languages

In Detail

Microservices are an architectural method and pattern for application development. 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 learning path begins by showing you how to build smaller, lighter, and faster services that can be implemented easily in a Java production environment. We then move on and focus on building microservices in Scala. It addresses the best practices and common pitfalls in microservice architecture and useful implementation strategies in Scala. Finally, we cover how to build reactive microservices using Akka and Akka HTTP, which adhere to the principles underlying the Reactive Manifesto.

Prerequisites: Experience with Java and Scala is necessary

Resources: Code downloads and errata:

  • Mastering Microservices with Java

  • Microservices in Scala

  • Building Microservice with AKKA HTTP

  • PATH PRODUCTS

    This path navigates across the following products (in sequential order):

  • Mastering Microservices with Java (2h 24m)

  • Microservices in Scala (1h 39m)

  • Building Microservice with AKKA HTTP (1h 23m)

  • Table of Contents

    1. Chapter 1 : Mastering Microservices with Java
      1. The Course Overview 00:02:52
      2. A Solution Approach Using New architecture paradigm 00:22:40
      3. Sample REST Service 00:16:15
      4. Design importance and Domain Driven Design (DDD) 00:08:42
      5. The Building Blocks - I 00:09:10
      6. Building blocks – II: Artifacts of DDD 00:05:43
      7. Aggregates and Repository 00:07:33
      8. Factory and Modules 00:05:06
      9. Strategic Design and Principles - I 00:03:51
      10. Strategic Design and Principles - II 00:09:13
      11. Implementing Entity 00:08:19
      12. Implementing Repository 00:04:48
      13. Implementing Service 00:09:07
      14. OTRS Overview 00:05:22
      15. OTRS Services 00:01:16
      16. Implementing Restaurant Service 00:06:17
      17. Implementing the GET Endpoint 00:08:16
      18. Implement Registration and Discovery Service 00:03:52
      19. Testing 00:06:21
    2. Chapter 2 : Microservices in Scala
      1. Advantages of Microservices Approach 00:04:33
      2. Disadvantages of Monolithic Applications 00:03:10
      3. Challenges and Problems in Building Microservices 00:03:07
      4. ervice Discovery 00:04:06
      5. Deployment - Embedded Containers Versus Server Containers Like Tomcat 00:04:01
      6. Monitoring - Gathering Proper Metrics and Configuring Health Checks 00:03:34
      7. Configuration Service - Storing Services Common Configuration 00:04:02
      8. Log aggregation - Aggregating and Storing Logs from Multiple Instances of Multiple Services 00:04:11
      9. Asynchronous Versus Thread-Per-Request Processing 00:05:21
      10. Microservices Should be Resilient - Tolerating Failures 00:04:25
      11. REST/HTTP as a Communication Protocol 00:05:48
      12. Service Clients Library for Easier Communication Between Services 00:04:25
      13. Start Project Using Play Framework 00:03:36
      14. Introduction to Play Framework 00:03:32
      15. Getting to Know Core API 00:05:42
      16. Creating Controllers of Our Microservice 00:06:52
      17. Writing Test for Controllers 00:06:20
      18. Making Logic Asynchronous and Non-Blocking 00:09:26
      19. Writing Performance Tests for a Microservice 00:12:51
    3. Chapter 3 : Building Microservice with AKKA HTTP
      1. The Course Overview 00:01:27
      2. Responsive 00:07:54
      3. Resilient 00:05:23
      4. Elastic 00:05:57
      5. Message Driven 00:06:45
      6. Putting All Reactive Principles Together 00:04:37
      7. Introduction to Akka 00:09:12
      8. Introduction to Akka HTTP 00:07:44
      9. Getting to Know Core API of Akka HTTP 00:08:02
      10. Creating Controllers for our REST Microservice 00:05:58
      11. Writing Tests for Our Microservice 00:07:09
      12. Making Our Service Comply with Reactive Manifesto Principles 00:05:24
      13. Writing 00:08:10