Building Microservices with Spring Boot LiveLessons, 2nd Edition

Building Microservices with Spring Boot LiveLessons, 2nd Edition

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 9 Hours | 4.32 GB

The term “microservices” has gained significant traction over the last few years. Describing a specific style of distributed software architecture, microservices are small, independently deployable units that work together to form a complete system. Microservices live on the web, live in the cloud, and work with all manner of data (SQL, NoSQL, In-Memory). They are production-ready services driven by ever-changing demands and scale.

Java developers looking to adopt microservices need to consider the practical aspects of application development. How can services be developed quickly? How can a broad range of technologies be supported? How can a consistent programming model be kept? For many companies, the answer is Spring Boot, Spring Cloud, and the wider Spring ecosystem.

In this video training, Josh Long and Phil Webb demonstrate how and why Spring and Spring Boot offer the best way to build modern microservice systems. They look at the technologies and use-cases common to cloud-native microservice style applications as part of a larger framework, and then specifically address microservice implementation patterns.

What You Will Learn

  • Understand the patterns typical of modern application architectures
  • Understand how Spring Boot ties together various parts of the Spring platform to make getting results a snap, on par with the agility you might otherwise expect from a Node.js or Ruby on Rails
  • Learn how to build microservices with Spring Cloud
Table of Contents

1 Building Microservices with Spring Boot – Introduction
2 Understand Spring fundamentals
3 Upgrade Spring Boot applications
4 Deal with deprecations and warnings
5 Apply Spring refinements
6 Summary
7 Learning objectives
8 1.1 Introduce Spring Boot
9 1.2 Write Groovy-based Spring CLI applications
10 1.3 Bootstrap with the Spring Initializr
11 1.4 Build with Maven
12 1.5 Build with Gradle
13 1.6 Work with starter POMs
14 1.7 Create runnable “fat” JARs
15 1.8 Understand auto-configuration
16 Summary
17 Learning objectives
18 2.1 Understand “Twelve-Factor App” configuration
19 2.2 Ask questions about an application’s environment
20 2.3 Read external configuration
21 2.4 Map properties to POJOs
22 2.5 Take it easy with relaxed binding
23 2.6 Support multiple environments using Spring profiles
24 2.7 Centralize configuration with the journaled, secure Spring Cloud Configuration Server
25 2.8 Refresh configuration without restarting your application
26 Summary
27 Learning objectives
28 3.1 Embrace “The Cloud”
29 3.2 Compare IaaS and PaaS
30 3.3 Deploy your apps to Heroku
31 3.4 Deploy your apps to Cloud Foundry
32 3.5 Containerize your applications with Docker
33 3.6 Consume services in “The Cloud”
34 3.7 Optimize for “The Cloud” using Spring Session and Spring Cloud AWS
35 Summary
36 Learning objectives
37 4.1 Contextualize your microservice data
38 4.2 Understand Spring Data
39 4.3 Work with relational databases
40 4.4 Evolve your database using Flyway
41 4.5 Use Redis distributed data structures
42 4.6 Store data with MongoDB
43 4.7 Search data using Elasticsearch
44 4.8 Expose Spring Data repositories over REST
45 Summary
46 Learning objectives
47 5.1 Understand REST
48 5.2 Understand status codes
49 5.3 Understand content negotiation
50 5.4 Understand HTTP Clients
51 5.5 Use hypermedia
52 5.6 Handle errors
53 5.7 Version your API
54 5.8 Use Differential Synchronization and JSON PATCH
55 Summary
56 Learning objectives
57 6.1 Batch process with Spring Batch
58 6.2 Integrate services with Spring Integration
59 6.3 Compose integration streams with Spring Cloud Stream
60 6.4 Orchestrate streams with Spring Cloud Dataflow (DSL, Shell)
61 Summary
62 Learning objectives
63 7.1 Understand the implications of agile methodologies on operations
64 7.2 Gain insight via logging
65 7.3 Introduce the Spring Boot Actuator
66 7.4 Monitor microservices
67 7.5 Diagnose errors
68 7.6 Measure anything and everything with metrics
69 7.7 Extend the Spring Boot Actuator
70 Summary
71 Learning objectives
72 8.1 Understand client side load balancing (Ribbon) and service registration (Eureka)
73 8.2 Build smart edge services (microproxies and api gateways)
74 8.3 Add resilience with circuit breakers
75 Summary
76 Learning objectives
77 9.1 Add distributed logging
78 9.2 Increase visibility with Hystrix Dashboard
79 9.3 Trace your distributed system with Zipkin
80 9.4 Use Application Performance Management (APM)
81 Summary
82 Learning objectives
83 10.1 Understand web applications in the microservice world
84 10.2 Serve resources from a Spring Boot application
85 10.3 Use templating technologies such as Thymeleaf
86 10.4 Resolve and transform resources
87 Summary
88 Learning objectives
89 11.1 Understand security
90 11.2 Understand HTTP Basic
91 11.3 Understand x509
92 11.4 Understand OAuth
93 Summary
94 Learning objectives
95 12.1 Review the example test application
96 12.2 Test without Spring
97 12.3 Test with Spring
98 12.4 Mock beans
99 12.5 Test application slices
100 12.6 Use @JsonTest
101 12.7 Use @DataJpaTest
102 12.8 Use @RestClientTest
103 12.9 Use @WebMvcTest
104 12.10 Understand “slice” annotations
105 12.11 Use Wiremock
106 Summary
107 Learning objectives
108 13.1 Know when to extend Spring Boot
109 13.2 Understand curated dependencies
110 13.3 Write custom auto-configuration
111 13.4 Use ApplicationListeners
112 13.5 Use ApplicationContextInitializers
113 13.6 Write a custom failure analyzer
114 Summary
115 Learning objectives
116 14.1 Understand tooling basics
117 14.2 Use Netbeans
118 14.3 Use Eclipse_STS
119 14.4 Use IntelliJ
120 14.5 Use DevTools to increase productivity
121 14.6 Understand property meta-data
122 14.7 Fork start.spring.io
123 Summary
124 Building Microservices with Spring Boot – Summary