Event-Driven Player Search

Continuos Integration/Delivery

CI

Jenkins

Team City

GitLab

Integration Tests

Code Quality

Domain Driven Development

TDD

Performance Testing

Gatling

JMeter

Benchmarking

MongoDB

Indexing

Kafka

Topics Structure

Offsets

Shovelling

Microservices Communication

Explore JSON Schema

Elasticsearch

Analyzers

Tokenizers

Multifield Search

Pagination

Docker

Spring Boot Application

Communication between Containerised Services

Kubernetes

Mini Kube

Docker

Try Gradle

Replace Maven by Gradle on one or more Microservices

Try Kotlin

Write one of the Microservices in Kotlin too

Try PWA

Webcomponents

Polymer

React

Selenium Tests

OAuth

push users updates

Spring

Spring Boot

2.0.0

Spring Data

Elasticsearch

MongoDB

MVC

@RestController

API Documentation

Response Objects - Serialise Requested fields only

Integration Tests

Rest API

Kafka Producer/Consumers

Circuit Breaking

Functional Tests

Embedded MongoDB

Embedded Elasticsearch

Embedded Kafka

Security

securing the rest APIs

JWT

Kafka

JSON Schemas

Avro

Schema Registry Server

Groovy/Spock

Unit Tests

Go Reactive

Reactive Mongo

Kafka Streams

Spring 5

Webflux

Streams

Reactive Elasticsearch

Learn the Basics

Use Avro to Serialize/Deserialize Objects

Microservices

Player Service

CRUD MongoDB

Kafka Producer - Player Topic

REST API

Synchronous GET ?

Asynchronous POST ?

AOP

Web App

Kafka Consumer - Duplicate Player Topic

Player Data Pump

Kafka Consumer - Player Topic

Read Mongo

Write Elasticsearch

Reindexing - Failure Recovery

Kafka Producer - Indexed Player Topic

App

endpoint to index specific player

Player Search Service

Read Elasticsearch

REST API

Web App

Player Duplicates

Kafka Consumer - Indexed Player Topic

Kafka Producer - Duplicate Player Topic

App

Architecture

Circuit Breaking

Gateway Pattern

External API - REST

Internal API - Kafka

Trackable Log

Monitoring

Service Health

Metrics

With Kafka Streams

prometheus

Cache