万本电子书0元读

万本电子书0元读

顶部广告

Mastering Spring Cloud电子书

售       价:¥

18人正在读 | 0人评论 6.2

作       者:Piotr Mińkowski

出  版  社:Packt Publishing

出版时间:2018-04-26

字       数:58.3万

所属分类: 进口书 > 外文原版书 > 电脑/网络

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
Learn how to build, test, secure, deploy, and efficiently consume services across distributed systems. About This Book ? Explore the wealth of options provided by Spring Cloud for wiring service dependencies in microservice systems. ? Create microservices utilizing Spring Cloud's Netflix OSS ? Architect your cloud-native data using Spring Cloud. Who This Book Is For This book appeals to developers keen to take advantage of Spring cloud, an open source library which helps developers quickly build distributed systems. Knowledge of Java and Spring Framework will be helpful, but no prior exposure to Spring Cloud is required. What You Will Learn ? Abstract Spring Cloud's feature set ? Create microservices utilizing Spring Cloud's Netflix OSS ? Create synchronous API microservices based on a message-driven architecture. ? Explore advanced topics such as distributed tracing, security, and contract testing. ? Manage and deploy applications on the production environment In Detail Developing, deploying, and operating cloud applications should be as easy as local applications. This should be the governing principle behind any cloud platform, library, or tool. Spring Cloud–an open-source library–makes it easy to develop JVM applications for the cloud. In this book, you will be introduced to Spring Cloud and will master its features from the application developer's point of view. This book begins by introducing you to microservices for Spring and the available feature set in Spring Cloud. You will learn to configure the Spring Cloud server and run the Eureka server to enable service registration and discovery. Then you will learn about techniques related to load balancing and circuit breaking and utilize all features of the Feign client. The book now delves into advanced topics where you will learn to implement distributed tracing solutions for Spring Cloud and build message-driven microservice architectures. Before running an application on Docker container s, you will master testing and securing techniques with Spring Cloud. Style and approach This comprehensive guide covers the advanced features of Spring Cloud and communicates them through a practical approach to explore the underlying concepts of how, when, and why to use them.
目录展开

Title Page

Copyright and Credits

Mastering Spring Cloud

Packt Upsell

Why subscribe?

PacktPub.com

Contributors

About the author

About the reviewer

Packt is searching for authors like you

Preface

Who this book is for

What this book covers

To get the most out of this book

Download the example code files

Conventions used

Get in touch

Reviews

Introduction to Microservices

The blessings of microservices

Building microservices with Spring Framework

Cloud-native development

Learning the microservices architecture

Understanding the need for service discovery

Communication between services

Failures and circuit breakers

Summary

Spring for Microservices

Introducing Spring Boot

Developing applications with Spring Boot

Customizing configuration files

Creating RESTful Web Services

API Documentation

Using Swagger 2 together with Spring Boot

Testing API with Swagger UI

Spring Boot Actuator features

Application information

Health information

Metrics

Developer tools

Integrating application with database

Building a sample application

Running the application

Summary

Spring Cloud Overview

Beginning with the basics

Netflix OSS

Service discovery with Eureka

Routing with Zuul

Load balancing with Ribbon

Writing Java HTTP clients

Latency and fault tolerance with Hystrix

Configuration management with Archaius

Discovery and distributed configuration

An alternative – Consul

Apache Zookeeper

Miscellaneous projects

Distributed tracing with Sleuth

Messaging and integration

Cloud platform support

Other useful libraries

Security

Automated testing

Cluster features

Projects overview

Release trains

Summary

Service Discovery

Running Eureka on the server side

Enabling Eureka on the client side

Deregistration on shutdown

Using discovery client programmatically

Advanced configuration settings

Refreshing the registry

Changing the instance identificator

Preferring the IP address

Response cache

Enabling secure communication between client and server

Registering a secure service

Eureka API

Replication and high availability

Architecture of the sample solution

Building the example application

Failover

Zones

Zones with a standalone server

Building an example application

Summary

Distributed Configuration with Spring Cloud Config

Introduction to HTTP API resources

Native profile support

Building a server-side application

Building a client-side application

Adding a Eureka Server

Client-side bootstrap approaches

Config Server discovery

Repository backend types

Filesystem backend

Git backend

Different protocols

Using placeholders in URIs

Building a server application

Client-side configuration

Multiple repositories

Vault backend

Getting started with Vault

Integration with Spring Cloud Config

Client-side configuration

Additional features

Fail on start and retry

Secure client

Reload configuration automatically

Solution architecture

Reload configuration with @RefreshScope

Consuming events from a message broker

Monitoring repository changes on a Config Server

Simulating change events manually

Testing locally with a GitLab instance

Summary

Communication Between Microservices

Different styles of communication

Synchronous communication with Spring Cloud

Load balancing with Ribbon

Enabling communication between microservices using the Ribbon client

Static load balancing configuration

Calling other services

Using RestTemplate together with service discovery

Building example application

Using Feign client

Support for different zones

Enabling Feign for an application

Building Feign interfaces

Launching microservices

Inheritance support

Creating a client manually

Client customization

Summary

Advanced Load Balancing and Circuit Breakers

Load balancing rules

The WeightedResponseTime rule

Introducing Hoverfly for testing

Testing the rule

Customizing the Ribbon client

The circuit breaker pattern with Hystrix

Building an application with Hystrix

Implementing Hystrix's commands

Implementing fallback with cached data

The tripping circuit breaker

Monitoring latency and fault tolerance

Exposing Hystrix's metrics stream

Hystrix dashboard

Building an application with the dashboard

Monitoring metrics on the dashboard

Aggregating Hystrix's streams with Turbine

Enabling Turbine

Enabling Turbine with streaming

Failures and the circuit breaker pattern with Feign

Retrying the connection with Ribbon

Hystrix's support for Feign

Summary

Routing and Filtering with API Gateway

Using Spring Cloud Netflix Zuul

Building a gateway application

Integration with service discovery

Customizing route configuration

Ignoring registered services

Explicity set service name

Route definition with the Ribbon client

Adding a prefix to the path

Connection settings and timeouts

Secure headers

Management endpoints

Providing Hystrix fallback

Zuul filters

Predefined filters

Custom implementations

Using Spring Cloud Gateway

Enable Spring Cloud Gateway for a project

Built-in predicates and filters

Gateway for microservices

Integration with service discovery

Summary

Distributed Logging and Tracing

Best logging practices for microservices

Logging with Spring Boot

Centralizing logs with ELK Stack

Setting up ELK Stack on the machine

Integrating an application with ELK Stack

Using LogstashTCPAppender

Using AMQP appender and a message broker

Spring Cloud Sleuth

Integrating Sleuth with an application

Searching events using Kibana

Integrating Sleuth with Zipkin

Running the Zipkin server

Building the client application

Analyze data with the Zipkin UI

Integration via message broker

Summary

Additional Configuration and Discovery Features

Using Spring Cloud Consul

Running Consul agent

Integration on the client side

Service discovery

Health check

Zones

Client settings customization

Running in clustered mode

Distributed configuration

Managing properties in Consul

Client customization

Watching configuration changes

Using Spring Cloud Zookeeper

Running Zookeeper

Service discovery

Client implementation

Zookeeper dependencies

Distributed configuration

Summary

Message-Driven Microservices

Learning about Spring Cloud Stream

Building a messaging system

Enabling Spring Cloud Stream

Declaring and binding channels

Customizing connectivity with the RabbitMQ broker

Integration with other Spring Cloud projects

The publish/subscribe model

Running a sample system

Scaling and grouping

Running multiple instances

Consumer groups

Partitioning

Configuration options

Spring Cloud Stream properties

Binding properties

The consumer

The producer

The advanced programming model

Producing messages

Transformation

Consuming messages conditionally

Using Apache Kafka

Running Kafka

Customizing application settings

Kafka Streams API support

Configuration properties

Multiple binders

Summary

Securing an API

Enabling HTTPS for Spring Boot

Secure discovery

Registering a secure application

Serving Eureka over HTTPS

Keystore generation

Configurating SSL for microservices and Eureka server

Secure configuration server

Encryption and decryption

Configuring authentication for a client and a server

Authorization with OAuth2

Introduction to OAuth2

Building an authorization server

Client configuration

Using the JDBC backend store

Inter-service authorization

Enabling SSO on the API gateway

Summary

Testing Java Microservices

Testing strategies

Testing Spring Boot applications

Building the sample application

Integration with the database

Unit tests

Component tests

Running tests with an in-memory database

Handling HTTP clients and service discovery

Implementing sample tests

Integration tests

Categorizing tests

Capturing HTTP traffic

Contract tests

Using Pact

Consumer side

Producer side

Using Spring Cloud Contract

Defining contracts and generating stubs

Verifying a contract on the consumer side

Scenarios

Performance testing

Gatling

Enabling Gatling

Defining the test scenario

Running a test scenario

Summary

Docker Support

Introducing Docker

Installing Docker

Commonly used Docker commands

Running and stopping a container

Listing and removing containers

Pulling and pushing images

Building an image

Networking

Creating a Docker image with microservices

Dockerfiles

Running containerized microservices

Building an image using the Maven plugin

Advanced Docker images

Continuous Delivery

Integrating Jenkins with Docker

Building pipelines

Working with Kubernetes

Concepts and components

Running Kubernetes locally via Minikube

Deploying an application

Maintaining a cluster

Summary

Spring Microservices on Cloud Platforms

Pivotal Cloud Foundry

Usage models

Preparing the application

Deploying the application

Using CLI

Binding to services

Using the Maven plugin

Maintenance

Accessing deployment details

Managing application life cycles

Scaling

Provisioning brokered services

The Heroku platform

Deployment methods

Using the CLI

Connecting to the GitHub repository

Docker Container Registry

Preparing an application

Testing deployments

Summary

Other Books You May Enjoy

Leave a review - let other readers know what you think

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部