Index
A
- Advanced Message Queuing Protocol (AMQP) / Learning about the Turbine server
- airline Bookings microservice / The airline Bookings microservice
- airline Payments microservice / The airline Payments microservice
- Airline Ticket System
- about / The Airline Ticket System
- functionalities / Airline functionalities
- solution diagram / Solution diagram
- AngularJS
- CMS application, integrating with / Integrate with AngularJS
- concepts / AngularJS concepts
- controllers / Controllers
- services / Services
- application entry point, creating / Creating the application entry point
- Category Controller, creating / Creating the Category Controller
- Category Service, creating / Creating the Category Service
- APIs
- testing / Testing APIs
- Authentication microservice
- creating / Creating the Authentication microservice
- Auth microservice
- creating / Creating the Auth microservice
- security, configuring / Configuring the security
- testing / Testing the Auth microservice
- client credentials flow / Client credentials flow
- implicit grant flow / Implicit grant flow
B
- bindings
- configuring, on Spring AMQP / Configuring exchanges, queues, and bindings on Spring AMQP
- declaring, in yaml / Declaring exchanges, queues, and bindings in yaml
C
- cascade failure / When the services fail, hello Hystrix
- Circuit Breaker pattern
- reference / Hystrix in a nutshell
- CMS
- Docker image, creating for / Creating the Docker image for CMS
- CMS project
- creating / The CMS project
- metadata section / Project metadata section
- dependencies section / The dependencies section
- generating / Generating the project
- cold publishers / Let's play with the Reactor
- command line
- used, for executing CMS application / Command line
- using, with Spring Boot Maven plugin / Command line via the Maven goal
- using, with JAR file / Command line via the JAR file
- commands, Docker
- docker run / Docker run
- docker container / Docker container
- docker network / Docker network
- docker volume / Docker volume
- components, Project Reactor
- publishers / Components
- subscribers / Components
- Config Server project
- creating / Creating the Config Server project
- containerized solution
- running / Running the containerized solution
- Content Delivery Network
- about / Creating the application entry point
- reference / Creating the application entry point
- Content Management System (CMS) application
- structure, creating / Creating the CMS application structure
- CMS project, creating / The CMS project
- project structure / Running the application
- @SpringBootApplication annotation / Looking under the hood
- @Configuration annotation / Looking under the hood
- @EnableAutoConfiguration annotation / Looking under the hood
- @Component annotation / Looking under the hood
- executing / Running the application
- executing, in IntelliJ IDEA / IntelliJ IDEA
- executing, in command line / Command line
- integrating, with AngularJS / Integrate with AngularJS
- core container / Core container
D
- DAO (Data Access Object) / Spring Data JPA
- data access layer
- creating / Creating the final data access layer
- data types, Redis
- strings / Data types
- lists / Lists
- sets / Sets
- development environment
- setting up / Setting up our development environment
- Docker
- installing / Installing Docker
- reference / Installing Docker
- bridge / Docker networks
- overlay network / Docker networks
- basics / Learning the basics of Docker
- RabbitMQ server, starting with / Starting the RabbitMQ server with Docker
- infrastructure, placing on / Putting the infrastructure on Docker
- docker-compose file
- creating / Creating a docker-compose file
- docker-compose project
- reference / Dockerizing the whole solution
- docker-compose tool
- about / The docker-compose tool
- installing / Installing docker-compose
- solution, running / Running the solution
- network, testing / Testing the network
- Docker-Maven-plugin
- configuring / Configuring the docker-maven-plugin
- adding, on pom.xml / Adding the plugin on pom.xml
- Docker commands / Docker commands
- docker container command / Docker container
- Docker containers / Containers
- Docker Hub
- image, pushing to / Pushing the image to Docker Hub
- Redis image, pulling from / Pulling the Redis image from the Docker Hub
- RabbitMQ image, pulling from / Pulling the RabbitMQ image from Docker Hub
- Docker image
- about / Docker images
- creating, for CMS / Creating the Docker image for CMS
- Dockerized CMS
- running / Running the Dockerized CMS
- Docker network
- about / Docker networks
- creating, for application / Creating a Docker network for our application
- docker network command / Docker network
- docker run command / Docker run
- Docker Spring profile
- configuring / Configuring the Docker Spring profile
- docker volume command / Docker volume
- Docker volumes / Docker volumes
- Domain-Driven Design (DDD) / Airline functionalities
- domain-specific language (DSL) / Spring Security
E
- EDGE server
- creating / Creating the EDGE server
- EDGE service project / Understanding the EDGE service project
- Elvis operator / Elvis operator
- Eureka server
- checking / Checking the Eureka server
- Eureka server main class
- creating / Creating the Eureka server main class
- exchanges
- configuring, on Spring AMQP / Configuring exchanges, queues, and bindings on Spring AMQP
- declaring, in yaml / Declaring exchanges, queues, and bindings in yaml
- exchanges, RabbitMQ
- about / Exchanges
- direct exchanges / Direct exchanges
- fanout exchanges / Fanout exchanges
- topic exchanges / Topic exchanges
- header exchanges / Header exchanges
F
- fabric8
- reference / Configuring the docker-maven-plugin
- Fat-JAR / Running the application
- Flight microservice project
- cloning / Cloning the Flight microservice project
- Flights microservice / Flights microservice
- functions
- declaring, in Kotlin / Declaring functions in Kotlin
G
- Git / Spring Cloud Config
- GitHub repository addresses, for projects
- references / Dockerizing the microservices
H
- Hibernate
- reference / Spring Data JPA
- httpbin
- HTTP protocol
- about / A few words about the HTTP protocol
- and persistent connections / HTTP and persistent connections
- Hystrix
- overview / Hystrix in a nutshell
- collection commands statistics / Collection commands statistics with Hystrix
- Hystrix Dashboard / Hystrix Dashboard
I
- IDE
- installing / Installing IDE
- IntelliJ IDEA
- about / IntelliJ IDEA
- used, for executing CMS application / IntelliJ IDEA
- IPC (Inter-Process Communication) / Netflix Ribbon
J
- Jackson
- adding, for Kotlin / Adding Jackson for Kotlin
- JAR file
- command line, using with / Command line via the JAR file
- JCP (Java Community Process) / Spring Data JPA
- JVM (Java Virtual Machine) / Learning Kotlin basics
K
- Kotlin
- basics / Learning Kotlin basics
- characteristics / Main characteristics of Kotlin
- syntax / Syntax
- semantics / Semantics
- functions, declaring in / Declaring functions in Kotlin
- simple function, with parameters / Simple function with parameters and return type
- simple function, with return type / Simple function with parameters and return type
- simple function, without return / Simple function without return
- single expressions functions / Single expressions functions
- functions, overriding / Overriding a function
- data classes / Data classes
- objects / Objects
- companion objects / Companion objects
- project, creating / Creating the project
- project use case / Project use case
- Jackson, adding for / Adding Jackson for Kotlin
- Kotlin idioms
- string interpolation / Kotlin idioms
- Smart Casts / Smart Casts
- range expressions / Range expressions
- null safety / Null safety
L
- lists
- about / Lists
- main commands / Main commands
M
- Mail microservice
- creating / Creating the Mail microservice
- running / Running the Mail microservice
- Mail microservice project
- creating / Creating the Mail microservice project
- RabbitMQ dependencies, adding / Adding RabbitMQ dependencies
- RabbitMQ stuff, configuring / Configuring some RabbitMQ stuff
- Mail message, modeling / Modeling a Mail message
- MailSender class / The MailSender class
- RabbitMQ queue listener, creating / Creating the RabbitMQ queue listener
- Maven
- installing / Installing Maven
- Maven plugins
- for Kotlin / Looking for the Maven plugins for Kotlin
- messages
- consuming, with Spring messaging / Consuming messages with Spring Messaging
- producing, with Spring messaging / Producing messages with Spring Messaging
- metrics
- collecting, with Zipkin / Collecting metrics with Zipkin
- microservices
- and Spring Boot / Microservices and Spring Boot
- characteristics / Microservices and Spring Boot
- integrations, testing / Testing the microservices' integrations
- monitoring / Monitoring the microservices
- dockerizing / Dockerizing the microservices
- modules, Spring / Spring modularity
- MongoDB
- preparing / Preparing MongoDB
N
- named client / Spring Cloud Netflix
- Netflix Ribbon / Netflix Ribbon
- Netty
- reference / Spring WebFlux
- about / Spring WebFlux
- null safety, Kotlin
- safe calls / Safe calls
- Elvis operator / Elvis operator
O
- OAuth 2.0 flow
- entities / Creating the Authentication microservice
- OAuth 2.0, for protecting microservices
- about / Protecting the microservices with OAuth 2.0
- security dependency, adding / Adding the security dependency
- application.yaml file, configuring / Configuring the application.yaml file
- JwtTokenStore Bean, creating / Creating the JwtTokenStore Bean
- OpenJDK
- installing / Installing OpenJDK
- OSI model
- reference / A few words about the HTTP protocol
P
- pagination / Adding the repository layer
- pgAdmin3
- about / Installing and configuring pgAdmin3
- installing / Installing and configuring pgAdmin3
- configuring / Installing and configuring pgAdmin3
- plane microservice
- running / Running the plane microservice
- Plane service
- creating / Creating the Plane service
- planes microservice
- creating / Creating the planes microservice
- coding / Coding the planes microservice
- reactive repository / The reactive repository
- POJO (Plain Old Java Object) pattern / Spring Data MongoDB
- pom.xml
- configuring, for Spring Data JPA / Configuring pom.xml for Spring Data JPA
- PostgreSQL database
- preparing / Preparing a PostgreSQL database
- project
- creating, with Spring Initializr / Creating the project with Spring Initializr
- Project Lombok library
- reference / Coding the planes microservice
- Project Reactor
- about / Project Reactor
- components / Components
- projects, Spring Cloud
- Spring Cloud Netflix / Spring Cloud Netflix
- Spring Cloud Config / Spring Cloud Config
- Spring Cloud Consul / Spring Cloud Consul
- Spring Cloud Security / Spring Cloud Security
- Spring Cloud Bus / Spring Cloud Bus
- Spring Cloud Stream / Spring Cloud Stream
- publishers / Components
Q
- queues
- configuring, on Spring AMQP / Configuring exchanges, queues, and bindings on Spring AMQP
- declaring, in yaml / Declaring exchanges, queues, and bindings in yaml
R
- RabbitMQ
- Spring Application, integrating with / Integrating Spring Application and RabbitMQ
- exchanges / Understanding RabbitMQ exchanges, queues, and bindings
- queues / Queues
- bindings / Bindings
- Spring beans, declaring for / Declaring Spring beans for RabbitMQ
- RabbitMQ image
- pulling, from Docker Hub / Pulling the RabbitMQ image from Docker Hub
- RabbitMQ queues
- consuming, reactively / Consuming the RabbitMQ queues reactively
- RabbitMQ Reactor beans
- configuring / Configuring RabbitMQ Reactor beans
- RabbitMQ server
- starting, with Docker / Starting the RabbitMQ server with Docker
- starting / Starting the RabbitMQ server
- range expressions, Kotlin
- simple case / Range expressions
- until case / The until case
- downTo case / The downTo case
- step case / Step case
- Reactive repository
- working / Reactive repositories in practice
- creating / Creating the first Reactive repository
- reactive sequences
- hot / Hot and cold
- Reactive Spring / Reactive Spring
- reactive types / Reactive types
- Reactor
- working with / Let's play with the Reactor
- Reactor RabbitMQ / Reactor RabbitMQ
- Redis
- about / Understanding Redis
- data types / Data types
- redis-cli tool
- configuring / Configuring the redis-cli tool
- Redis image
- pulling, from Docker Hub / Pulling the Redis image from the Docker Hub
- Redis instance
- running / Running the Redis instance
- REST layer
- modifying / Changing the REST layer
- Spring WebFlux dependency, adding / Adding the Spring WebFlux dependency
- CategoryResource, modifying / Changing the CategoryResource
- REST resources
- creating / Creating the REST resources, Hello REST resources
- Lombok dependency, adding / Models, Adding Lombok dependency
- models, creating / Creating the models
- Tag class, creating / Tag
- Category class, creating / Category
- User class, creating / User
- News class, creating / News
- CategoryResource class, creating / Creating the CategoryResource class
- UserResource class, creating / UserResource
- NewsResource class, creating / NewsResource
- route
- creating, with Spring Cloud Gateway / Creating our first route with Spring Cloud Gateway
S
- SaaS (Software as a Service) / Creating the Mail microservice
- safe calls / Null safety
- SendGrid
- about / Creating the Mail microservice
- reference / Creating the SendGrid account
- SendGrid account
- creating / Creating the SendGrid account
- Server-Sent Events (SSE) / Server-Sent Events, Server-Sent Events, Creating the Turbine server microservice
- service discovery
- about / Understanding the service discovery power
- REST layer / The REST layer
- client / Understanding the discovery client
- and load balancing / Service discovery and load balancing in practice
- service layer
- adding / Adding service layer
- model, modifying / Changes in the model
- new review, adding / Adding a new review
- news, checking / Keeping the news safely
- prerequisites / Before starting the service layer
- CategoryService class, creating / CategoryService
- UserService class, creating / UserService
- NewsService class, creating / NewsService
- Swagger, configuring / Configuring Swagger for our APIs
- fixing / Fixing the service layer
- CategoryService, modifying / Changing the CategoryService
- sets
- about / Sets
- main commands / Main commands
- Single Sign-On (SSO) / Creating the Authentication microservice
- SMTP (Simple Mail Transfer Protocol) / Creating the Mail microservice
- Spring
- modules / Spring modularity
- or Apache Kafka / Spring for Apache Kafka
- spring.io blog
- reference / Spring Security
- Spring Actuator
- about / Spring Actuator
- endpoints / Actuator Endpoints
- application custom information / Application custom information
- endpoints, testing / Testing endpoints
- Spring AMQP
- about / Spring AMQP
- adding, in pom.xml file / Adding Spring AMQP in our pom.xml
- exchanges, configuring / Configuring exchanges, queues, and bindings on Spring AMQP
- queues, configuring / Configuring exchanges, queues, and bindings on Spring AMQP
- bindings, configuring on / Configuring exchanges, queues, and bindings on Spring AMQP
- Spring Application
- integrating, with RabbitMQ / Integrating Spring Application and RabbitMQ
- Spring beans
- declaring, for RabbitMQ / Declaring Spring beans for RabbitMQ
- Spring Boot
- about / Spring Boot
- microservices / Microservices and Spring Boot
- Spring Boot Actuator
- adding, in pom.xml / Adding Spring Boot Actuator in our pom.xml
- Spring Boot Admin
- about / Spring Boot Admin
- running / Running Spring Boot Admin
- Spring Boot Maven plugin
- command line, using with / Command line via the Maven goal
- Spring Cloud
- about / Spring Cloud
- projects / Spring Cloud
- Spring Cloud Bus / Spring Cloud Config, Spring Cloud Bus
- Spring Cloud Config / Spring Cloud Config
- Spring Cloud Config Server
- about / Spring Cloud Config Server
- enabling / Enabling Spring Cloud Config Server
- GitHub, using as repository / Using GitHub as a repository
- Spring Boot application, configuring / Configuring the Spring Boot application
- Git repository, configuring as properties source / Configuring the Git repository as a properties source
- running / Running the Config Server
- testing / Testing our Config Server
- Spring Cloud Consul
- about / Spring Cloud Consul
- reference / Spring Cloud service discovery
- Spring Cloud Eureka
- creating / Creating Spring Cloud Eureka
- Spring Cloud Eureka server
- configuring / Configuring the Spring Cloud Eureka server
- running / Running the Spring Cloud Eureka server
- Spring Cloud Feign / Spring Cloud Netflix
- Spring Cloud Gateway
- about / Spring Cloud Gateway
- running / Running the Spring Cloud Gateway
- route, creating with / Creating our first route with Spring Cloud Gateway
- Spring Cloud Gateway main class
- creating / Creating the Spring Cloud Gateway main class
- Spring Cloud Gateway project
- creating / Creating the Spring Cloud Gateway project
- configuring / Configuring the Spring Cloud Gateway project
- Spring Cloud Hystrix / Spring Cloud Netflix, Spring Cloud Hystrix
- Spring Cloud Netflix / Spring Cloud Netflix
- Spring Cloud Netflix Eureka / Spring Cloud Netflix
- Spring Cloud Ribbon / Spring Cloud Netflix
- Spring Cloud Security / Spring Cloud Security
- Spring Cloud service discovery / Spring Cloud service discovery
- Spring Cloud Sleuth / Spring Cloud Zipkin server and Sleuth
- Spring Cloud Stream / Spring Cloud Stream
- Spring Cloud Zipkin server
- about / Spring Cloud Zipkin server and Sleuth
- infrastructure / Infrastructure for the Zipkin server
- creating / Creating the Spring Cloud Zipkin server
- boostrap.yaml, configuring / Configuring boostrap.yaml and application.yaml
- application.yaml, configuring / Configuring boostrap.yaml and application.yaml
- running / Running the Zipkin server
- Spring Cloud Zookeeper
- reference / Spring Cloud service discovery
- Spring Cloud Zuul / Spring Cloud Zuul
- Spring community
- projects / Spring Data project
- Spring container
- Twitter credentials, declaring for / Declaring Twitter credentials for the Spring container
- Spring Core Framework
- about / Spring Core Framework
- core container / Core container
- Spring Data
- about / Spring Data
- for Reactive Extensions / Spring Data for Reactive Extensions
- Spring Data Commons Documentation
- reference / Adding the repository layer
- Spring Data JPA
- about / Spring Data JPA
- pom.xml, configuring for / Configuring pom.xml for Spring Data JPA
- Postgres connections, configuring / Configuring the Postgres connections
- models, mapping / Mapping the models
- JPA repositories, adding in CMS application / Adding the JPA repositories in the CMS application
- transactions, configuring / Configuring transactions
- data, checking on database structure / Checking the data on the database structure
- Spring Data MongoDB
- about / Spring Data MongoDB
- PostgreSQL, removing / Removing the PostgreSQL and Spring Data JPA dependencies
- domain model, mapping / Mapping the domain model
- database connection, configuring / Configuring the database connection
- repository layer, adding / Adding the repository layer
- persistence, checking / Checking the persistence
- Spring Data project / Spring Data project
- Spring Data Reactive / Spring Data Reactive
- Spring Data Reactive Redis
- about / Spring Data Reactive Redis
- ReactiveRedisConnectionFactory, configuring / Configuring the ReactiveRedisConnectionFactory
- ReactiveRedisTemplate, providing / Providing a ReactiveRedisTemplate
- Tracked Hashtag repository, creating / Creating Tracked Hashtag repository
- REST resources, exposing / Exposing the REST resources
- Spring Fox / Creating the REST resources
- Spring Initializr
- reference / The CMS project, Creating the Config Server project
- project, creating / Creating the project with Spring Initializr
- Spring Integration / Spring Integration
- Spring IoC containers / Core container
- Spring JMS / Spring JMS
- Spring messaging
- about /
- messages, consuming with / Consuming messages with Spring Messaging
- messages, producing with / Producing messages with Spring Messaging
- Spring Messaging AMQP / Spring Messaging AMQP
- Spring MVC (model-view-controller) / Spring Core Framework
- Spring reactive web clients
- about / Spring reactive web clients
- WebClient, producing / Producing WebClient in a Spring Way
- models creation, for gathering tweets / Creating the models to gather Tweets
- authentication, with Twitter APIs / Authentication with Twitter APIs
- server-sent events (SSE) / Some words about server-sent events (SSE)
- gather service, creating / Creating the gather service
- Twitter API, consuming / Listening to the Rabbit Queue and consuming the Twitter API
- Spring Security / Spring Security
- Spring Team
- projects / Spring Data project
- Spring Tools Suite / Spring Tools Suite
- Spring WebFlux
- about / Spring WebFlux, Spring WebFlux
- event-loop model / Event-loop model
- Spring Web MVC module /
- starters / Microservices and Spring Boot
- stereotype annotation / Looking under the hood
- streams
- filtering / Filtering streams
- strings
- about / Strings
- main commands / Main commands
- subscribers / Components
- Swagger
- about / Creating the REST resources
- configuring / Configuring Swagger for our APIs, Configuring Swagger
- dependencies, adding to pom.xml / Adding dependencies to pom.xml
- documented API, creating / First documented API
- system
- running / Running the system
T
- Tracked Hashtag Service
- modifying / Changing the Tracked Hashtag Service
- Spring Starter RabbitMQ dependency, adding / Adding the Spring Starter RabbitMQ dependency
- RabbitMQ connections, configuring / Configuring the RabbitMQ connections
- exchanges, creating / Creating exchanges, queues, and bindings for the Twitter Hashtag Service
- bindings, creating / Creating exchanges, queues, and bindings for the Twitter Hashtag Service
- queues, creating / Creating exchanges, queues, and bindings for the Twitter Hashtag Service
- messages, sending to broker / Sending the messages to the broker
- running / Running Tracked Hashtag Service
- Tracked Hashtag Service container
- Turbine server / Learning about the Turbine server
- Turbine server microservice
- creating / Creating the Turbine server microservice
- Tweet Dispatcher container
- running / Running the Tweet Dispatcher container
- Tweet Dispatcher project
- creating / Creating the Tweet Dispatcher project
- Spring Initializr, using / Using Spring Initializr once again
- additional dependencies / Additional dependencies
- configuring / Tweet Dispatcher
- Tweet Gathering container
- running / Running the Tweet Gathering container
- Tweet Gathering project
- configuring / Tweet Gathering
- Twitter
- enabling, in application / Enabling Twitter in our application
- Twitter application
- creating / Creating a Twitter application
- pom.xml, configuring / Configuring pom.xml
- image, creating / Creating the image
- container, running / Running the container
- Twitter credentials
- producing / Producing Twitter credentials
- configuring, in application.yaml / Configuring Twitter credentials in application.yaml
- declaring, for Spring container / Declaring Twitter credentials for the Spring container
- Twitter Gathering project
- creating / Creating the Twitter Gathering project
- structure / Project structure
- running / Running the Twitter Gathering
- Twitter setting models
- about / Modelling objects to represent Twitter settings
- Twittertoken / Twittertoken
- TwitterAppSettings / TwitterAppSettings
V
- version control system (VCS) / Configuring the Spring Cloud Eureka server
W
- WebSockets / WebSockets
Y
- yaml
- exchanges, declaring in / Declaring exchanges, queues, and bindings in yaml
- queues, declaring in / Declaring exchanges, queues, and bindings in yaml
- bindings, declaring in / Declaring exchanges, queues, and bindings in yaml
Z
- Zipkin
- metrics, collecting with / Collecting metrics with Zipkin