Building Microservices with Spring Boot
Building Microservices with Spring Boot
$20.00
Minimum price
$25.00
Suggested price
Building Microservices with Spring Boot

Last updated on 2017-01-15

About the Book

This book is designed to give you the complete picture of how you can build microservices with Spring Boot. Existing book regarding microservice are helpful to grasp to concepts, but there are no practical examples of how to accomplish it. The objective of the book is to use Spring and Spring Boot to show practical approaches as well a reference guide to Spring Boot. 

The way we build software has changed dramatically. The word cloud is everywhere. Most software companies are either using available providers such as AWS, Joyent, Rackspace or trying to build their own private cloud. The tendency of building big massive software is also changing, now the trend is to build smaller software which does one thing and it does it well.

It is called microservices, a small, discrete, isolated, stateless, lightweight application that can be deployed separately from other services that depend on it. The architectural style which refers to an approach to structuring a single software application as a group of small services, each running in its own process and communicating with lightweight mechanisms.

Spring as a mature framework does provide most of the necessary modules to accomplish what is needed to build a microservice architecture. So as a developer you can add necessary modules, wire it via dependency injection and start using it without changing the context. With Spring, you can connect relational or NoSQL datastore, work with AMQP, build your authentication and authorization, use configuration management, circuit breakers, intelligent routing, etc. Most of the technologies you may need for developing microservices are provided via Spring. 

The book will cover topics such as essentials Spring Boot, HTTP programming, Spring Cloud Config, Service Discovery, Client-Side Load Balancing, Distributed Messaging, Asynchronous HTTP programming, Routing, API Gateways, etc. 

PS: This is an early release, chapters will be release as they are ready. You'll also receive updates when new chapters are available and the final book is released.

 

About the Author

Engin Yöyen
Engin Yöyen

I am a Software Engineer and father of a wonderful boy.  I am currently living in Berlin, and working for a company as a Technical Team Lead on Web Analytics Services.

In past, I worked in diverse fields such as Internet Of Things, Telecommunications, Smart Classes, CMS, etc. My main focus, however, is the web applications. I have degrees in Computer Science and Psychology(combined program) and Business Administration.

I love riding a motorbike, cooking and working less to learn more. I am writing because it is fun and educative.

Table of Contents

  • Preliminaries
    • Errata & Suggestion
    • Source Code
    • Credits
  • 1. Microservices and Spring
    • 1.1 Spring and Spring Boot
    • 1.2 Microservice vs Monolith
    • 1.3 Microservice Envy
    • 1.4 Getting Started with Spring Boot
  • 2. HTTP Programming
    • 2.1 HTTP Request to Spring Annotation
    • 2.2 Controllers
    • 2.3 Working With Request Body
    • 2.4 URI Templates
    • 2.5 Building a HTTP Response
    • 2.6 Request Headers
    • 2.7 Handling Exceptions
    • 2.8 HTTP Caching
  • 3. Deployment
    • 3.1 Isolation of Code and Host
    • 3.2 Build, Persist, Run
    • 3.3 Store Config in The Environment
    • 3.4 Continuous Integration & Delivery & Deployment
  • 4. Application Configuration
    • 4.1 Configuring a Spring Boot Application
    • 4.2 Externalizing Configuration
    • 4.3 Using Custom Configuration
  • 5. Spring Cloud Config
    • 5.1 System Setup
    • 5.2 Storage of Configuration Files
    • 5.3 Config Server
    • 5.4 Config Client
    • 5.5 Why Use(or Not Use) Spring Cloud Config?
  • 6. Strategies for Building and Connecting APIs
    • 6.1 An Example Scenario
    • 6.2 Resource Waterfall
    • 6.3 API Gateway
    • 6.4 Upshot
  • 7. Communicating with HTTP Clients
    • 7.1 Spring’s Rest Template
    • 7.2 Handling Errors
    • 7.3 Asynchronous HTTP Requests
    • 7.4 Handling Domain Model Across Services
    • 7.5 Netflix’s Zuul
    • 7.6 HTTP Connection Pool
  • 8. Resiliency and Failure Recovery
    • 8.1 Scalability
    • 8.2 Load Balancing
    • 8.3 Availability
    • 8.4 Latency and Throughput
    • 8.5 Client-Side Load Balancing with Ribbon
    • 8.6 Circuit Breaker with Hystrix
  • 9. Service Discovery
    • 9.1 What is Service Discovery?
    • 9.2 Example of Service Discovery Methods
    • 9.3 When to Use Service Discovery
    • 9.4 Service Statuses and Health Checks
    • 9.5 Deployment
    • 9.6 Choosing the Right Tool
  • 10. Service Discovery with Spring Cloud Consul
    • 10.1 Consul
    • 10.2 Spring Cloud Consul
    • 10.3 Discovery Client
    • 10.4 Spring Cloud Consul Configuration
  • 11. Server Side Caching
    • 11.1 Cache Topologies
    • 11.2 Spring’s Cache Manager
    • 11.3 Cache Annotations
    • 11.4 Enabling Caching
    • 11.5 Caching with Ehcache
    • 11.6 Caching with Hazelcast
    • 11.7 Caching with Redis
    • 11.8 Choosing The Right Cache Provider
  • 12. Operational Aspects
    • 12.1 Spring Boot Actuator
    • 12.2 Application Metrics
    • 12.3 Custom Metrics
    • 12.4 Application Health
    • 12.5 Heap and Thread Dumps
    • 12.6 Application Environment Variables
    • 12.7 JMX and Jolokia
    • 12.8 Loggers Endpoint
    • 12.9 Other Actuator End Points
  • Appendix
    • A.1 - Managing Parent POM
  • Notes

The Leanpub 45-day 100% Happiness Guarantee

Within 45 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

See full terms...

Write and Publish on Leanpub

Authors, publishers and universities use Leanpub to publish amazing in-progress and completed books and courses, just like this one. You can use Leanpub to write, publish and sell your book or course as well! Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks. Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. It really is that easy.

Learn more about writing on Leanpub