Home Page Icon
Home Page
Table of Contents for
JavaEE 8 Microservices
Close
JavaEE 8 Microservices
by Pavel Pscheidl, Ondrej Mihalyi, Mert Caliskan, Kamalmeet Singh
Java EE 8 Microservices
Title Page
Copyright and Credits
Java EE 8 Microservices
About Packt
Why subscribe?
Packt.com
Contributors
About the authors
About the reviewer(s)
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
From Monoliths to Microservices
What is Monolith design?
The challenges associated with Monolith design
Service-oriented architecture
Understanding Microservices
Advantages of Microservices
Challenges with Microservices
Summary
Creating your first Microservice
Setting up the Development Environment
Environment installation
Installing Java Development Kit
Installing Apache Maven
Downloading development tools
cURL
Postman
Creating the project with Maven
Your very first Microservice
A Java EE Microservice
Coding the Microservice
Configuring the Microservice
Code summary
Running the Microservice
Building and running the Weather Microservice
Invoking the Microservice
A Spring Boot Microservice
Creating the project with Maven
Coding a Spring Boot Microservice
Building the Spring Boot Weather Microservice
Running the Spring Boot Weather Microservice
Summary
Connecting Microservices Together
Building a client
Using third-party reactive frameworks
Connecting two Microservices together
Creating and pooling web targets
Making Microservices discoverable
Snoop
Running Snoop and registering our service
Consuming registered services
Eureka
Installing Eureka Server
Registering the service
Discovering and invoking the service
Summary
Asynchronous Communication for Microservices
Speeding up services with the Reactive API
Collecting results of multiple parallel calls
Completing a REST response asynchronously
Asynchronous exceptions
Specifying and handling asynchronous timeouts
A complete reactive REST service
Simplifying the code with a third-party reactive framework
Streaming responses with SSE
Building an asynchronous service
Invoking the SSE service
Invoking the SSE service from JavaScript
Building an SSE Java client
Automatically reconnecting of SSE clients
Two-way asynchronous services with WebSocket
A quick comparison between HTTP and WebSockets
Decoupling services with message-oriented middleware
An example of message-oriented middleware
Summary
Path to Robust Microservices
Building for failure
Isolating the failure
The bulkhead pattern
Stateless services
The robustness principle
Handling the failure
Asynchronous communication
Fail fast
Timeouts
Circuit breakers
A circuit breaker code example
Fan out and fastest response
Recovering from failure
Preparing for failure
Summary
Scaling Microservices
What is scalability?
Microservices and scalability
Stateless versus Stateful scalability
Scaling on the cloud
Going serverless with microservices
Scaling databases with Microservices
Scaling Microservices with caching
Summary
Securing Microservices
Securing Microservices with JWT
Anatomy of a JWT
How does JWT work for Authentication?
Java Security API – JSR 375
The HTTPAuthenticationMechanism API
Basic HTTP Authentication
Form-based Authentication
Custom form-based Authentication
Identity Store
Built-in and Custom IdentityStores
The security context API
Spring Security with Spring-Boot-based Microservices
Configuring Spring Security with the In-memory realm
Configuring Spring Security with the database realm
HTTPS – The Secured Protocol
Summary
Monitoring Microservices
What is monitoring and why is it required?
Monitoring Microservices
Understanding core concepts and terms
Taking a closer look using an example
Creating the example services
Monitoring Microservices with Zipkin
Case 1 – service is unresponsive
Case 2 – service responding slowly
Tools for monitoring Microservices
Prometheus for monitoring and alerting
Elasticsearch, Logstash, and Kibana (ELK)
Considering more tools
Summary
Building, Packaging, and Running Microservices
Introduction to Java Packaging
Understanding Archives
Fat packages
FatWAR packaging
FatJAR packaging
Java EE MicroService solutions
OpenLiberty
The OpenLiberty Maven plugin
Configuring OpenLiberty
The Weather Microservice with OpenLiberty
The Gradle plugin
WildFly Swarm
The WildFly Swarm generator
The WildFly Swarm Maven plugin
HollowJAR
Payara Micro
The Payara Micro Maven plugin
The Payara Micro UberJar
The Deployment Architecture for Microservices
Summary
Documenting and Testing MicroServices
Documenting Microservices
Swagger
APIdoc
Additional Documentation Frameworks
Testing Microservices
Unit testing
Integration Testing
Service Testing
End-to-end testing
Levels of Testing
Summary
Other Books You May Enjoy
Leave a review - let other readers know what you think
Search in book...
Toggle Font Controls
Playlists
Add To
Create new playlist
Name your new playlist
Playlist description (optional)
Cancel
Create playlist
Sign In
Email address
Password
Forgot Password?
Create account
Login
or
Continue with Facebook
Continue with Google
Sign Up
Full Name
Email address
Confirm Email Address
Password
Login
Create account
or
Continue with Facebook
Continue with Google
Next
Next Chapter
Title Page
Add Highlight
No Comment
..................Content has been hidden....................
You can't read the all page of ebook, please click
here
login for view all page.
Day Mode
Cloud Mode
Night Mode
Reset