Slide 1

Slide 1 text

© 2018 Pivotal !1 Building Reactive Microservices With Spring Cloud Finchley Ryan Baxter, Software Engineer, Pivotal @ryanjbaxter

Slide 2

Slide 2 text

!2 Nice To Meet You • Engineer on the Spring Cloud team • Get In Touch • @ryanjbaxter • http://ryanjbaxter.com

Slide 3

Slide 3 text

!3 When Will Spring Cloud Finchley Be Released?

Slide 4

Slide 4 text

!4 When Will Spring Cloud Finchley Be Released? ▪ https://github.com/spring-cloud/spring-cloud-release/milestones

Slide 5

Slide 5 text

!5 Agenda ▪ Spring Cloud Finchley Release ▪ Key Enhancements ▪ Spring Cloud Gateway ▪ Demo ▪ Questions

Slide 6

Slide 6 text

!6 Spring Cloud Finchley Project Reactor

Slide 7

Slide 7 text

!7 Spring Cloud Vault ▪ ReactiveVaultTemplate provides a reactive API to interact with Vault ▪ Added support for Vault Database backends ▪ Vault will generate credentials for applications ▪ Applications retrieve credentials from Vault ▪ Support for Spring Data’s repository concept on top of Vault ▪ Support for authentication with Vault using Kubernetes Service Account Token

Slide 8

Slide 8 text

!8 Spring Cloud Sleuth ▪ Rewritten using Brave ▪ Migration Guide: https://github.com/spring-cloud/spring-cloud-sleuth/ wiki/Spring-Cloud-Sleuth-2.0-Migration-Guide ▪ Support for tracing when using WebClient, Netty’s HttpClient, and Apache’s (Async) HttpClient ▪ Support for Spring Kafka and Spring RabbitMQ ▪ Support for Amazon X-Ray ▪ Support for Apache Dubbo

Slide 9

Slide 9 text

!9 Spring Cloud Contract ▪ Support for RestAssured with RestDocs ▪ Support for Pact v3 and Pact Broker ▪ Ability to upload and fetch stubs from a Git repository ▪ Define contract in YAML ▪ Docker images published for polyglot support

Slide 10

Slide 10 text

!10 Spring Cloud Netflix ▪ New /hystrix.stream endpoint for WebFlux apps ▪ /clusters endpoint added to get Turbine cluster information ▪ Zuul metrics now use Micrometer ▪ OpenFeign has been moved from Spring Cloud Netflix to Spring Cloud OpenFeign ▪ Spring Cloud Netflix AMQP has been removed ▪ spring-cloud-starter-* modules have been removed ▪ Use spring-cloud-netflix-starter-* instead

Slide 11

Slide 11 text

!11 Spring Cloud Config ▪ Added support for database backends ▪ Added support for Gitee webhooks ▪ Added the ability to skip SSL validation for Git and Vault backends

Slide 12

Slide 12 text

!12 Reactive LoadBalanced WebClients ▪ You can now use the @LoadBalanced annotation on your WebClients to enable client side load balancing

Slide 13

Slide 13 text

!13 Spring Cloud Gateway ▪ Built on Project Reactor, Spring 5, and Spring Boot 2.0 ▪ Spring WebFlux provides a lot of functionality out of the box that is important for the gateway ▪ Spring Cloud Gateway has the concept of predicates and filters in order to target specific requests and modify the request and/or response ▪ Rate Limiting, Circuit Breakers, Web Sockets

Slide 14

Slide 14 text

!14 DEMO

Slide 15

Slide 15 text

!15 Q&A Spring Cloud Homepage: http://projects.spring.io/spring-cloud/ GitHub: https://github.com/spring-cloud Samples: https://github.com/spring-cloud-samples Twitter: https://twitter.com/springcloud Ryan Baxter Homepage: http://ryanjbaxter.com GitHub: http://github.com/ryanjbaxter Twitter: http://twitter.com/ryanjbaxter