وبلاگ بلیان

Mastering Spring Cloud : Build Self-healing, Microservices-based, Distributed Systems Using Spring Cloud

معرفی کتاب «Mastering Spring Cloud : Build Self-healing, Microservices-based, Distributed Systems Using Spring Cloud» نوشتهٔ Minkowski, Piotr، منتشرشده توسط نشر Packt Publishing - ebooks Account در سال 2018. این کتاب در 6 صفحه، فرمت pdf، زبان انگلیسی ارائه شده است. «Mastering Spring Cloud : Build Self-healing, Microservices-based, Distributed Systems Using Spring Cloud» در دستهٔ بدون دسته‌بندی قرار دارد.

Learn how to build, test, secure, deploy, and efficiently consume services across distributed systems. Key Features - 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. Book Description 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. 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 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. 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 Learn how to secure your Java applications from hackers using Spring Security 4.2About This BookArchitect solutions that leverage the full power of Spring Security while remaining loosely coupled.Implement various scenarios such as supporting existing user stores, user sign up, authentication, and supporting AJAX requests,Integrate with popular Microservice and Cloud services such as Zookeeper, Eureka, and Consul, along with advanced techniques, including OAuth, JSON Web Token's (JWS), Hashing, and encryption algorithmsWho This Book Is ForThis book is intended for Java Web and/or RESTful webservice developers and assumes a basic understanding of creating Java 8, Java Web and/or RESTful webservice applications, XML, and the Spring Framework. You are not expected to have any previous experience with Spring Security.What You Will LearnUnderstand common security vulnerabilities and how to resolve themLearn to perform initial penetration testing to uncover common security vulnerabilitiesImplement authentication and authorizationLearn to utilize existing corporate infrastructure such as LDAP, Active Directory, Kerberos, CAS, OpenID, and OAuthIntegrate with popular frameworks such as Spring, Spring-Boot, Spring-Data, JSF, Vaaden, jQuery, and AngularJS.Gain deep understanding of the security challenges with RESTful webservices and microservice architecturesIntegrate Spring with other security infrastructure components like LDAP, Apache Directory server and SAMLIn DetailKnowing that experienced hackers are itching to test your skills makes security one of the most difficult and high-pressured concerns of creating an application. The complexity of properly securing an application is compounded when you must also integrate this factor with existing code, new technologies, and other frameworks. Use this book to easily secure your Java application with the tried and trusted Spring Security framework, a powerful and highly customizable authentication and access-control framework.The book starts by integrating a variety of authentication mechanisms. It then demonstrates how to properly restrict access to your application. It also covers tips on integrating with some of the more popular web frameworks. An example of how Spring Security defends against session fixation, moves into concurrency control, and how you can utilize session management for administrative functions is also included.It concludes with advanced security scenarios for RESTful webservices and microservices, detailing the issues surrounding stateless authentication, and demonstrates a concise, step-by-step approach to solving those issues. And, by the end of the book, readers can rest assured that integrating version 4.2 of Spring Security will be a seamless endeavor from start to finish.Style and approachThis practical step-by-step tutorial has plenty of example code coupled with the necessary screenshots and clear narration so that grasping content is made easier and quicker. Learn how to secure your Java applications from hackers using Spring Security 4.2 About This Book Architect solutions that leverage the full power of Spring Security while remaining loosely coupled. Implement various scenarios such as supporting existing user stores, user sign up, authentication, and supporting AJAX requests, Integrate with popular Microservice and Cloud services such as Zookeeper, Eureka, and Consul, along with advanced techniques, including OAuth, JSON Web Token's (JWS), Hashing, and encryption algorithms Who This Book Is For This book is intended for Java Web and/or RESTful webservice developers and assumes a basic understanding of creating Java 8, Java Web and/or RESTful webservice applications, XML, and the Spring Framework. You are not expected to have any previous experience with Spring Security. What You Will Learn Understand common security vulnerabilities and how to resolve them Learn to perform initial penetration testing to uncover common security vulnerabilities Implement authentication and authorization Learn to utilize existing corporate infrastructure such as LDAP, Active Directory, Kerberos, CAS, OpenID, and OAuth Integrate with popular frameworks such as Spring, Spring-Boot, Spring-Data, JSF, Vaaden, jQuery, and AngularJS. Gain deep understanding of the security challenges with RESTful webservices and microservice architectures Integrate Spring with other security infrastructure components like LDAP, Apache Directory server and SAML In Detail Knowing that experienced hackers are itching to test your skills makes security one of the most difficult and high-pressured concerns of creating an application. The complexity of properly securing an application is compounded when you must also integrate this factor with existing code, new technologies, and other frameworks. Use this book to easily secure your Java application with the tried and trusted Spring Security framework, a powerful and highly customizable authentication and access-control framework. The book starts by integrating a variety of authentication mechanisms. It then demonstrates how to properly restrict access to your application. It also covers tips on integrating with some of the more popular web frameworks. An example of how Spring Security defends against session fixation, moves into concurrency control, and how you can utilize session management for administrative functions is also included. It concludes with advanced security scenarios for REST .. Unlock the power of Spring Boot to build and deploy production-ready microservices About This Book Get to know the advanced features of Spring Boot in order to develop and monitor applications Use Spring cloud to deploy and manage microservices on the cloud Look at embedded servers and deploy a test application to a PaaS Cloud platform Embedded with assessments that will help you revise the concepts you have learned in this book Who This Book Is For This book is aimed at Java developers who knows the basics of Spring programming and want to build microservices with Spring Boot. What You Will Learn Use Spring Initializr to create a basic spring project Build a basic microservice with Spring Boot Implement caching and exception handling Secure your microservice with Spring security and OAuth2 Deploy microservices using self-contained HTTP server Monitor your microservices with Spring Boot actuator Learn to develop more effectively with developer tools In Detail Microservices helps in decomposing applications into small services and move away from a single monolithic artifact. It helps in building systems that are scalable, flexible, and high resilient. Spring Boot helps in building REST-oriented, production-grade microservices. This book is a quick learning guide on how to build, monitor, and deploy microservices with Spring Boot. You'll be first familiarized with Spring Boot before delving into building microservices. You will learn how to document your microservice with the help of Spring REST docs and Swagger documentation. You will then learn how to secure your microservice with Spring Security and OAuth2. You will deploy your app using a self-contained HTTP server and also learn to monitor a microservice with the help of Spring Boot actuator. This book is ideal for Java developers who knows the basics of Spring programming and want to build microservices with Spring Boot. This book is embedded with useful assessments that will help you revise the concepts you have learned in this book. Style and approach This book follows a practical approach to teach you how to build, monitor, and deploy microservices with Spring Boot. Note: This book is a blend of text and quizzes, all packaged up keeping your journey in mind. It includes content from the following Packt product: Mastering Spring 5.0 by Ranga Rao Karanam Downloading the example code for this book You can download the example code files for all Packt books you have purchased from your acco .. 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. Downloading the example code for this book You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com.. Unlock the power of Spring Boot to build and deploy production-ready microservices Key FeaturesGet to know the advanced features of Spring Boot in order to develop and monitor applicationsUse Spring cloud to deploy and manage microservices on the cloudLook at embedded servers and deploy a test application to a PaaS Cloud platformEmbedded with assessments that will help you revise the concepts you have learned in this bookBook DescriptionMicroservices helps in decomposing applications into small services and move away from a single monolithic artifact. It helps in building systems that are scalable, flexible, and high resilient. Spring Boot helps in building REST-oriented, production-grade microservices. This book is a quick learning guide on how to build, monitor, and deploy microservices with Spring Boot. You'll be first familiarized with Spring Boot before delving into building microservices. You will learn how to document your microservice with the help of Spring REST docs and Swagger documentation. You will then learn how to secure your microservice with Spring Security and OAuth2. You will deploy your app using a self-contained HTTP server and also learn to monitor a microservice with the help of Spring Boot actuator. This book is ideal for Java developers who knows the basics of Spring programming and want to build microservices with Spring Boot. This book is embedded with useful assessments that will help you revise the concepts you have learned in this book. This book is repurposed for this specific learning experience from material from Packt's Mastering Spring 5.0 by Ranga Rao Karanam. What you will learnUse Spring Initializr to create a basic spring projectBuild a basic microservice with Spring BootImplement caching and exception handlingSecure your microservice with Spring security and OAuth2Deploy microservices using self-contained HTTP serverMonitor your microservices with Spring Boot actuatorLearn to develop more effectively with developer toolsWho this book is forThis book is aimed at Java developers who knows the basics of Spring programming and want to build microservices with Spring Boot. Annotation Unlock the power of Spring Boot to build and deploy production-ready microservicesKey Features Get to know the advanced features of Spring Boot in order to develop and monitor applications Use Spring cloud to deploy and manage microservices on the cloud Look at embedded servers and deploy a test application to a PaaS Cloud platform Embedded with assessments that will help you revise the concepts you have learned in this bookBook DescriptionMicroservices helps in decomposing applications into small services and move away from a single monolithic artifact. It helps in building systems that are scalable, flexible, and high resilient. Spring Boot helps in building REST-oriented, production-grade microservices. This book is a quick learning guide on how to build, monitor, and deploy microservices with Spring Boot. You'll be first familiarized with Spring Boot before delving into building microservices. You will learn how to document your microservice with the help of Spring REST docs and Swagger documentation. You will then learn how to secure your microservice with Spring Security and OAuth2. You will deploy your app using a self-contained HTTP server and also learn to monitor a microservice with the help of Spring Boot actuator. This book is ideal for Java developers who knows the basics of Spring programming and want to build microservices with Spring Boot. This book is embedded with useful assessments that will help you revise the concepts you have learned in this book. What you will learn Use Spring Initializr to create a basic spring project Build a basic microservice with Spring Boot Implement caching and exception handling Secure your microservice with Spring security and OAuth2 Deploy microservices using self-contained HTTP server Monitor your microservices with Spring Boot actuator Learn to develop more effectively with developer toolsWho this book is forThis book is aimed at Java developers who knows the basics of Spring programming and want to build microservices with Spring Boot
دانلود کتاب Mastering Spring Cloud : Build Self-healing, Microservices-based, Distributed Systems Using Spring Cloud