Microservice architectures are all the rage in JavaLand. They allow teams to develop services independently and deploy autonomously.
Why microservices?
IF
you are developing a large/complex application
AND
you need to deliver it rapidly, frequently, and reliably
over a long period of time
THEN
the Microservice Architecture is often a good choice
Reactive architectures are becoming increasingly popular for organizations that need to do more, with less hardware. Reactive programming allows you to build systems that are resilient to high load.
In this session, I'll show you how to use JHipster to create a reactive microservices architecture with Spring Boot, Spring Cloud, Keycloak, and run it all in Docker. You will leave with the know-how to create your own resilient apps!
Related blog post: https://developer.okta.com/blog/2021/01/20/reactive-java-microservices
GitHub repo: https://github.com/oktadeveloper/java-microservices-examples/tree/main/reactive-jhipster
Reactive Microservices with Spring Boot and JHipster - Richmond JUG 2021
1. Reactive Java Microservices
with Spring Boot, JHipster, and OAuth
Jan 21, 2020
Matt Raible | @mraible
Photo by Taber Andrew Bain
https://www.flickr.com/photos/andrewbain/2700290996
4. How to Use JHipster
Install JHipster and Yeoman, using npm:
npm install -g generator-jhipster
Create a directory and cd into it:
take app
Run it!
jhipster
5. * PLEASE run JHipster in an brand new, empty directory; else 😕
Monolith, Gateway, or Microservices?
Spring MVC or Spring WebFlux?
Authentication Type?
Database Type?
Build Tool?
Web Framework?
JHipster Options
10. @mraible
Hi, I’m Matt Raible
Father, Husband, Skier, Mountain
Biker, Whitewater Rafter
Bus Lover
Web Developer and Java Champion
Okta Developer Advocate
Blogger on raibledesigns.com and
developer.okta.com/blog
@mraible
15. Spring
History of Spring
October 2002 - Rod Johnson writes
J2EE Design & Development
2004 - Spring 1.0
2006 - Spring 2.0 with better XML
2009 - JavaConfig
2014 - Spring Boot 1.0
2015 - Spring Cloud 1.0
🍃
17. “Any organization that designs a system
(defined broadly) will produce a design
whose structure is a copy of the
organization's communication structure.”
Conway’s Law
Melvin Conway 1967
24. yelp.com/callback
Back to redirect URI
with authorization code
Exchange code for
access token and ID token
accounts.google.com
Email
**********
Go to authorization server
Redirect URI: yelp.com/cb
Scope: openid profile
Authorization Server
yelp.com
Connect with Google
Resource owner
Client
accounts.google.com
Allow Yelp to access your public
profile and contacts?
No Yes
Request consent
from resource owner
Hello Matt!
accounts.google
Get user info
with access token
/userinfo
OAuth 2.0 and OIDC
25.
26. Demo
Create microservices with JDL
Run apps and e2e tests
Switch identity providers
Run everything with Docker
https://github.com/oktadeveloper/
java-microservices-examples
🤓
29. What’s Next for JHipster?
Micro Frontends
Spring Boot 2.4
GraphQL
30. Reactive Microservices with Spring Cloud Gateway
https://developer.okta.com/blog/2019/08/28/reactive-microservices-spring-cloud-gateway
31. The JHipster Mini-Book
Written with Asciidoctor
Free download from InfoQ:
infoq.com/minibooks/jhipster-mini-book
Quick and to the point, 164 pages
Developed a real world app:
www.21-points.com
Buy for $20 or download for FREE