java microservices with dropwizard
TRANSCRIPT
Java MicroservicesWith
DropWizard
About Me
System Information Bachelor SENAC SP
Developer since 2008
Focused on Java platform and related technologies.
Hobbies: Big data and Startups.
Contact:
Bruno [email protected]
Traditional EAR/War Problems
Memory leaks, bloated, restarts
Require Specialists (Ops External tools)
Another layer of configuration
No isolation(1 Application Server)
Cost $$$
Traditional EAR/War Problems
Multiple Applications
Concerns > Classloader Hell, Memory, FileSystems
AS
App1 App2 App3
DropWizard wayJetty lightweight server
Configure the App, not the server.
Easy Isolation(including Classloader)
Standalone App (Fat-jar, self contained)
Includes Health Checker
Fast Ready to production RESTFul Webservices
$ Cheap!
DropWizard wayRest Stack, SPECs:
AS HTTP: Jetty 9.2.x
REST API: Jersey 2.x
JSON Processor: Jackson
Monitoring API: Metrics (JVM and App - Health Check)
Logger: Logback 1.1.x
And Friends: Guava, Hibernate Validator, JodaTime, LiquiBase(Database Source Control)
Support Dependency Injection (Guice)
Architecture Comparison
Monolith: Multiple modules in the same process.
Microservices: Modules Running in different processes.
Credits: http://martinfowler.com/articles/microservices.html
DisadvantagesNot a Silver Bullet!
More complex for
Distribution.
Monitoring.
Test the distributed environment.
In some cases, needs more requests to complete just one message.
Demo
Q A&
GitHub DW
Contribute https://github.com/dropwizard/dropwizard