Java Microservices

Java Microservices

This course covers the topic of developing microservices in Java. It starts from architectural principals of splitting an

application into microservices, then discusses the communication of microservices via different protocols, as well

covering various data management approaches in distributed applications. Finally, it touches on deployment with

Docker and Kubernetes, using Service Mesh as an example of Istio.

Czas trwania
30 hours
Typ kursu
Online
Język
English
Czas trwania
30 hours
Lokalizacja
Online
Język
English
Kod
JVA-079
Szkolenie dla #uczestników# lub większej liczby osób? Dostosuj treningi dla Twoich konkretnych potrzeb
Java Microservices
Czas trwania
30 hours
Lokalizacja
Online
Język
English
Kod
JVA-079
€ 750 *
Szkolenie dla #uczestników# lub większej liczby osób? Dostosuj treningi dla Twoich konkretnych potrzeb

Opis

This comprehensive course provides a deep dive into microservice architecture development using Java, starting with core principles and characteristics of microservices. We cover vital aspects such as splitting an application into microservices, modeling and communication, exploring decomposition strategies, synchronous / asynchronous communication methods including REST, gRPC and messaging with Kafka.


The course also delves into data management complexities, addressing different persistence strategies, distributed

database principles, and transaction management. It includes hands-on sessions on deployment, focusing on Docker

and Kubernetes, plus exploring Service Mesh using Istio. By the end of the course, learners will have gained thorough

expertise in developing, managing, and scaling microservices effectively. This course covers the topic of developing microservices in Java. It starts from architectural principals of splitting an

application into microservices, then discusses the communication of microservices via different protocols, as well

covering various data management approaches in distributed applications. Finally, it touches on deployment with

Docker and Kubernetes, using Service Mesh as an example of Istio.

certificate
Po ukończeniu kursu na formularzu Luxoft Training
wydawany jest certyfikat

Cele

To introduce listeners to modern approaches to building microservices. 

Grupa docelowa

Java

Developers

&

Architects

Warunki wstępne

Good knowledge of Java & Spring. 

Plan działania

Module 1: Microservices in a Nutshell

  • Definition
  • Key Solvable Problems
  • Interaction
  • Granularity
  • Key Defining Characteristics
  • Trade-Offs



Module 2: Modeling Microservices

  • Key Decomposition Strategies
    • Decompose by Object -Oriented Design (OOD)
    • Decompose by Business Capability
    • Decompose by Subdomain (DDD)
  • Selecting a Component Architecture
  • Selecting a Framework

Module 3: Microservice s communication

  • Synchronous communication
  • REST with RestTemplate
  • REST with WebClient
  • REST with Feign
  • gRPC
  • Asynchronous communication
  • Asynchronous vs. synchronous communication
  • Messaging with Spring Cloud Stream
  • Using Kafka for messaging



Module 4: Data Management

  • Persistence Strategies
  • Shared Database
  • Database per Service
  • Alternatives Ways
  • Private-table-per-service
  • Schema-per-service
  • ACID
  • CAP Theorem
  • Eventual consistency
  • Distributed Transactions - 2PC
  • SAGA
  • Event Sourcing
  • CQRS


Module 5: Deployment

  • Key Principles
  • Containerization with Docker
  • Container Orchestration with Kubernetes
  • Database Deployment
  • Deployment Infrastructure Automation

Module 6: Service Mesh

  • What is Service Mesh?
  • Istio
  • Sidecar Proxy
  • Istio Installation Options
  • Istio Main Components: VirtualService and DestinationRule
  • Istio Gateway
  • Request routing
  • Retries
  • Circuit Breaker
  • Rate Limiter
  • Fault Injection
  • Deployment Strategies
  • Visualizing Istio Metrics



Nadal masz pytania?
Połącz sięz nami