java microservices with dropwizard

11
Java Microservices With DropWizard

Upload: bruno-buger

Post on 17-Aug-2015

48 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Java Microservices with DropWizard

Java MicroservicesWith

DropWizard

Page 2: Java Microservices with 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]

Page 3: Java Microservices with DropWizard

Traditional EAR/War Problems

Memory leaks, bloated, restarts

Require Specialists (Ops External tools)

Another layer of configuration

No isolation(1 Application Server)

Cost $$$

Page 4: Java Microservices with DropWizard

Traditional EAR/War Problems

Multiple Applications

Concerns > Classloader Hell, Memory, FileSystems

AS

App1 App2 App3

Page 5: Java Microservices with DropWizard

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!

Page 6: Java Microservices with DropWizard

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)

Page 7: Java Microservices with DropWizard

Architecture Comparison

Monolith: Multiple modules in the same process.

Microservices: Modules Running in different processes.

Credits: http://martinfowler.com/articles/microservices.html

Page 8: Java Microservices with DropWizard

DisadvantagesNot a Silver Bullet!

More complex for

Distribution.

Monitoring.

Test the distributed environment.

In some cases, needs more requests to complete just one message.

Page 9: Java Microservices with DropWizard

Demo

Page 10: Java Microservices with DropWizard

Q A&

Page 11: Java Microservices with DropWizard

GitHub DW

Contribute https://github.com/dropwizard/dropwizard