Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Microservice Patterns

ivargrimstad
November 16, 2017

Microservice Patterns

Architectures based on microservices introduce new challenges for architects and developers. New patterns emerge and existing are updated to be aligned to this relatively new architectural style.

This session presents 7 patterns commonly used in microservice based architectures. Each pattern will be in explained and demoed live in a down-to-earth and easy understandable way.

ivargrimstad

November 16, 2017
Tweet

More Decks by ivargrimstad

Other Decks in Programming

Transcript

  1. @ivar_grimstad #microservices #DevoxxMA Service A Service B Service C Web

    Application Web API Gateway Mobile Application Mobile API Gateway
  2. @ivar_grimstad #microservices #DevoxxMA Hardware Operating System JVM Application UberJAR Hardware

    Operating System JVM Java EE Container Application Thin WAR java -jar dukes.jar deployDukes.sh
  3. @ivar_grimstad #microservices #DevoxxMA Hardware Operating System JVM MicroProfile Container Application

    Thin WAR java -jar dukes.jar deployDukes.sh Hardware Operating System JVM Application UberJAR
  4. @ivar_grimstad #microservices #DevoxxMA Hardware Operating System JVM UberJAR Hardware Operating

    System JVM MicroProfile Container MicroProfile Application Hardware Operating System JVM Java EE Container Java EE Application java -jar dukes.jar deployDukes.sh deployDukes.sh
  5. @ivar_grimstad #microservices #DevoxxMA Hardware Operating System JVM UberJAR Hardware Operating

    System JVM MicroProfile Container MicroProfile Application Hardware Operating System JVM Java EE Container Java EE Application docker run dukes docker run dukes docker run dukes
  6. @ivar_grimstad #microservices #DevoxxMA Hardware Operating System JVM UberJAR Hardware Operating

    System JVM MicroProfile Container MicroProfile Application Hardware Operating System JVM Java EE Container Java EE Application docker run dukes docker run dukes docker run dukes
  7. @ivar_grimstad #microservices #DevoxxMA Config Payara Microprofile Service Config Payara
 Micro

    Service payara/microprofile:1.0 payara/micro:173 132 MB 83 MB Config Payara
 Web Profile Service payara/server-web:173 515 MB
  8. @ivar_grimstad #microservices #DevoxxMA Config Service + WildFly Swarm Microprofile Config

    WildFly
 Web Profile Service openjdk:8-jre-slim jboss/wildfly:10.1.0.Final 288 MB 80 MB
  9. @ivar_grimstad #microservices #DevoxxMA Config TomEE
 Web Profile Service Config TomEE


    Web Profile Service tomee/8-jre-1.7.4-jaxrs tomee/8-jre-7.0.3-webprofile 263 MB 263 MB
  10. @ivar_grimstad #microservices #DevoxxMA How to enable a service to run

    in multiple environments without modification?
  11. @ivar_grimstad #microservices #DevoxxMA Application SnoopEE Discovery Service Register Register Service

    A SnoopEE Configuration Service Lookup Config Get Config for A Lookup Config Get Config for Application
  12. @ivar_grimstad #microservices #DevoxxMA Service A Service B Service C Application

    Discovery Service Register Register Register Lookup A Call A
  13. @ivar_grimstad #microservices #DevoxxMA Service A Service B Service C Application

    Discovery Service Register Register Register Lookup B Call B
  14. @ivar_grimstad #microservices #DevoxxMA Service A Service B Service C Application

    Discovery Service Register Register Register Lookup B
  15. @ivar_grimstad #microservices #DevoxxMA 1. Microservice Architecture 2. API Gateway 3.

    Backend for Frontend 4. Service per Container 5. Externalized Configuration 6. Service Registry 7. Circuit Breaker 8. Health Check API 9. Application Metrics