Review of the book: "Learn Microservices with Spring Boot: A Practical Approach..."

Review of the book: "Learn Microservices with Spring Boot: A Practical Approach..."

Hello everyone, I'd like to share my recent experience in a reading and programming with the following book: "Learn Microservices with Spring Boot: A Practical Approach to RESTful Services using RabbitMQ, Eureka, Ribbon, Zuul and Cucumber" by author Moises Macero

Pros: Pragmatic approach with usage of TDD, separation of concern, and step-by-step instruction of showing how to move from monolith to microservices architecture

Cons: If you never heard about TDD, unit-testing, and staff like Event Sourcing, CQRS, Distributed System, you could find book hard to understand, there a lot of terminology and practically it's not disassembled to you. Also not much details about theory, but it's more practical book.

Summary: Personally for me the book was a discovery, because all basis have been already within me but as disparate pieces, and this practical approach helped me to clue these parts together. Definitely I loved the book. First chapters starts with a TDD and practical use of it
Here is link to source code provided by author:
https://github.com/microservices-practical/

P.S. and here is link to my workshop of programming those samples https://github.com/microservices-practical/
which are provided by author with a slightest difference, instead of RabbitMQ, I'm using Kafka broker to keep our events in it. The most of all book hang me on because I've been searching for any simple examples of gamification service and how to integrate those samples, so the book taking 10 out of 10 starts for me!


Всем привет, хочу поделиться книгой, которую закончил читать и программировать вместе с ней) - это 👇 "Learn Microservices with Spring Boot: A Practical Approach to RESTful Services using RabbitMQ, Eureka, Ribbon, Zuul and Cucumber" написанная автором Moises Macero

Плюсы: Прагматичный подход с написанием кода через тестирование, разделение интересов, и пошаговая инструкция показывающая как от монолит решения перейти к микросервисной архитектуре.

Минусы:  если вы не разбираетесь в TDD, юнит- тестировании, никогда не слышали о концептах EventSourcing, и понятия не имеете про распределенные системы, то возможно эта книга вам не подойдет.

Итого: Лично для меня книга стала находкой, потому что весь остальной базис я уже нарабатывал и применял отрывочно и в разной степени, что понравилось, как видно из описание она практичная, процесс изложения построен из использования TDD практики, начиная от монолита и постепенно раскладывая решение на микросервисы, от простого примера, где возможность запуска микросервиса в одном экземпляре, до того, что мы создаем Gateway(Edge-service) для взаимодействия с клиентским приложением, есть компонентные диаграмы показывающие взаимодествие ваших сервисов, по ходу чтения мы создаем простую  имплементацию Event Sourcing-а, и CQRS, делаем наши микросервисы доступными и масштабируемыми, а также подключаем сервисы обнаружения, в общем максимально практично, из минусов понятно, что книга не новая и какие-то библиотеки такие как Eureka для новых версий Spring Boot приложения могут отличаться, в частности сервис обнаружений(discovery) - имеет другое наименование зависимостей👇

<dependency>   
    <groupId>org.springframework.cloud</groupId>   
    <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId></dependency> 

Во многом очень интересно и практично, к тому же так как есть примеры, реализации ты всегда можешь свериться со своим кодом и тем что, предоставлен автором по главам.
Вот репозиторий автора https://github.com/microservices-practical/

P.S. А вот тут мой репозиторий с последними версиями микросервисов и также вместо RabbitMQ , я использую Kafka брокер - собственно в нем мы сохраняем MultiplicationSolvedEvent, также как и автор хранит события в RabbitMQ https://github.com/isatimur/microservices-in-practice

P.P.S. Минуточку, хотел добавить вдруг вы заметили это в 10-ой версии - v10 есть пример spring boot 2.0 и ряд обновлений и комментариев от автора об актуальности примеров относительно облачных сервисов, которые как я говорю выше устарели.