Record:   Prev Next
Author Rajput, Dinesh
Title Mastering Spring Boot 2. 0 : Build Modern, Cloud-Native, and Distributed Systems Using Spring Boot
Imprint Birmingham : Packt Publishing, Limited, 2018
©2018
book jacket
Edition 1st ed
Descript 1 online resource (380 pages)
text txt rdacontent
computer c rdamedia
online resource cr rdacarrier
Note Cover -- Title Page -- Copyright and Credits -- Dedication -- Packt Upsell -- Contributors -- Table of Contents -- Preface -- Chapter 1: Getting Started with Spring Boot 2.0 -- Introducing Spring Boot -- Simplifying Spring application development using Spring Boot -- The essential key components of Spring Boot -- Spring Boot Starters -- Spring Boot Starter Parent POM -- Spring Boot auto-configuration -- Enabling Spring Boot auto-configuration -- Spring Boot CLI -- Spring Boot Actuator -- Setting up a Spring Boot workspace -- Setting up Spring Boot with Maven -- Setting up Spring Boot with Gradle -- Developing your first Spring Boot application -- Using a web interface for Spring Initializr -- Creating a Spring Boot project using the STS IDE -- Implementing the REST service -- New features in Spring Boot 2.0 -- Summary -- Chapter 2: Customizing Auto-Configuration in Spring Boot Application -- Understanding auto-configuration -- Learning how auto-configuration works -- Customizing Spring Boot -- Customizing using Spring Boot properties -- Replacing generated beans -- Disabling specific auto-configuration classes -- Changing a library's dependencies -- Externalizing configuration with properties -- Order of evaluation for overridden properties -- Renaming application.properties in the Spring application -- Externally configuring application properties -- Using the @EnableConfigurationProperties annotation -- Fine-tuning with logging -- Logging output -- Using YAML for configuration -- YAML for properties -- Multiple profiles inside a single YAML file -- Customizing application error pages -- Summary -- Chapter 3: Getting Started with Spring CLI and Actuator -- Getting started with using Spring Boot CLI -- Installing the Spring Boot CLI -- Manually installing from a downloaded distribution -- Installation with SDKMAN! -- Installing with OSX Homebrew
MacPorts installation -- Command-line completion -- Using the Initializr with the Spring Boot CLI -- Spring Boot Actuator - taking Application's Insights -- Enabling Spring Boot's Actuator in your application -- Analyzing the Actuator's endpoints -- Exposing configuration details -- Exposing metrics endpoints -- Exposing application information -- Shutting down your application -- Customizing your Actuator endpoints -- Enabling or disabling endpoints -- Changing endpoint IDs -- Changing the sensitivity of the Actuator's endpoints -- Writing custom health indicators -- Creating a custom endpoint -- Securing the Actuator endpoints -- The Actuator with Spring Boot 2.X -- Summary -- Chapter 4: Getting Started with Spring Cloud and Configuration -- Cloud-native application architecture -- Microservices architecture -- Microservice benefits -- Microservice challenges -- Introduction to Spring Cloud -- Building blocks of the cloud and microservice applications -- Usages of Spring Cloud -- Configuring the Spring Cloud application -- Creating the configuration producer Spring Cloud Config Server -- Project setup and dependencies -- Implementing Cloud Config Server -- Configuring the application.properties file -- Creating a Git repository as configuration storage -- Running your configuration application -- Configuring multiple repositories using patterns -- Authentication -- Force-pull property -- Creating the configuration consumer Spring Cloud Config client -- Summary -- Chapter 5: Spring Cloud Netflix and Service Discovery -- Introduction to Spring Cloud Netflix -- The need for Service Discovery in the microservices architecture -- Implementing Service Discovery - Eureka Server -- The Maven build configuration file -- The Gradle build configuration file -- Enabling the Eureka server as a Discovery Service server
Implementing Service Discovery - Eureka clients -- Adding the Maven dependencies configuration -- The Gradle build configuration -- Registering a client with Eureka -- Consuming the REST service -- Using EurekaClient -- Using DiscoveryClient -- Client-side load balancing using Netflix Ribbon -- Using the registry-aware Spring Cloud Netflix FeignClient client -- Summary -- Chapter 6: Building Spring Boot RESTful Microservice -- Microservices with Spring Boot -- Brief introduction to bootstrap.yml and application.yml -- A simple microservice example -- Creating a discovery service -- Creating a microservice (the Producer) -- Creating microservice consumers -- Load-balanced RestTemplate -- Brief introduction to Spring Data -- Apache Ignite repository -- Spring Data MongoDB -- Spring MongoDB data highlights -- Spring Data JPA -- Summary -- Chapter 7: Creating API Gateway with Netflix Zuul Proxy -- The need for an API Gateway pattern -- Pros of the API Gateway pattern -- Cons of the API Gateway pattern -- API Gateway pattern components -- Implementing API Gateway using Netflix Zuul Proxy -- Including Zuul using Maven dependency -- Enabling the Zuul service proxy -- Configuring Zuul properties -- Adding Zuul filters -- Registering Zuul filters -- Summary -- Chapter 8: Simplify HTTP API with Feign Client -- Declarative REST client - Feign basics -- Including Feign in the cloud application -- Overriding Feign defaults -- Creating Feign clients -- Feign inheritance support -- Multiple interfaces -- Advanced usage of the Feign client -- Feign logging -- Exception handling -- Custom encoders and decoders -- Custom encoder -- Custom decoder -- Feign and Hystrix -- Unit testing Feign clients -- Summary -- Chapter 9: Building Event-Driven and Asynchronous Reactive Systems -- Event-driven architecture patterns -- Mediator topology -- Broker topology
Introduction to reactive programming -- Spring Reactive -- ReactiveX -- Introduction to Command Query Responsibility Segregation -- Introduction to the Event Sourcing pattern -- Introduction to Eventual consistency -- Building an event-driven Reactive Asynchronous System -- Introducing Spring Cloud Streaming -- Adding Kafka to your application -- Installing and running Kafka -- Configuration properties for Kafka -- Service used to write to Kafka -- Rest API controller -- Listening to a Kafka topic -- Summary -- Chapter 10: Building Resilient Systems Using Hystrix and Turbine -- Circuit-breaker pattern -- Using the Hystrix library with a reference implementation -- Configuring Hystrix in your application -- Maven dependency -- Enabling circuit-breaker -- Adding the Hystrix annotation in services -- Error propagation -- Implementing a REST controller in customer service -- Building and testing customer service -- Customizing the default configuration -- Hystrix Metrics Stream -- Implementing Hystrix Dashboard in our project -- Turbine dashboard -- Turbine stream -- REST consumer with Hystrix and Feign -- Summary -- Chapter 11: Testing Spring Boot Application -- Test-driven development -- Unit testing -- Advantages -- Disadvantages -- Other mock libraries -- Integration testing -- Benefits of testing with Spring -- Activating profiles for a test class -- JUnit tests for the Spring Boot application -- Using Mockito for mocking services -- Postman for testing RESTful service contracts -- Summary -- Chapter 12: Containerizing Microservice -- Introducing containers to the microservice architecture -- Virtual machines versus containers -- Benefits of a container-oriented approach -- Drawbacks of a container-oriented approach -- Key concepts of the containers-oriented approach -- Getting started with Docker -- Installing Docker -- Installing Docker on Linux
Installing Docker on Windows -- Docker commands -- Container-specific commands -- Docker architecture -- Docker Engine -- Docker container -- Writing Dockerfile -- Dockerizing any Spring Boot application -- Creating a Docker image using Maven -- Getting started with Docker Compose -- Installing Docker Compose -- Using Docker Compose -- Writing a docker-compose file -- Orchestration using a docker-compose file -- Scaling containers using docker-compose and load balancing -- Introducing Kubernetes -- Summary -- Chapter 13: API Management -- API Management -- Advantages of using API Management software tools -- API Management tools -- Rate limiting -- Implementing rate limiting -- Learning about KONG -- Microservice REST APIs with the KONG architecture -- Using APIs without the KONG architecture -- Installing KONG -- Using the KONG API -- Features of the KONG API -- Swagger -- Usage of Swagger -- Using Swagger in a microservice -- Adding a Maven dependency -- Configuring Swagger 2 in your project -- Configuring Swagger UI in your project -- Customizing the Swagger UI meta-configuration -- Filtering an API from Swagger's documentation -- Customizing with Swagger annotations -- Advantages of Swagger -- Summary -- Chapter 14: Deploying in Cloud (AWS) -- Spinning up an AWS EC2 instance -- Microservices architecture on AWS -- Publishing microservices to the Docker Hub -- Installing Docker on AWS EC2 -- Running microservices on AWS EC2 -- Summary -- Chapter 15: Production Ready Service Monitoring and Best Practices -- Monitoring containers -- Logging challenges for the microservices architecture -- Centralized logging solution for the microservices architecture -- Log aggregation using the ELK stack -- Install Elasticsearch -- Install Logstash -- Install Kibana -- Requesting tracing using Sleuth -- Requesting tracing with Zipkin
Adding the Zipkin server to your machine
Spring is one of the best frameworks on the market for developing web, enterprise, and cloud-ready software. Spring Boot simplifies building complex software dramatically by reducing the amount of boilerplate code, providing production-ready features and a simple deployment model
Description based on publisher supplied metadata and other sources
Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2020. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries
Link Print version: Rajput, Dinesh Mastering Spring Boot 2. 0 : Build Modern, Cloud-Native, and Distributed Systems Using Spring Boot Birmingham : Packt Publishing, Limited,c2018 9781787127562
Subject Spring (Software framework)
Computer software-Development.
Web applications-Development
Electronic books
Record:   Prev Next