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

Be Reactive and Micro with a MicroProfile Stack

Be Reactive and Micro with a MicroProfile Stack

MicroProfile, RxJava, React.js - what else do you need to build lightweight but robust reactive systems efficiently with opensource tools? Maybe something for effective data processing and distributed persistence? You can have it too with Kafka and Hazelcast. Now let’s have a look at how to assemble all together in almost no time, using Payara Micro. You’ll learn how to use a couple of simple tools to build a highly efficient, scalable and robust system that can be evolved continuously to meet rapidly changing needs and increasing loads.

Presented at JPrime Conference (jprime.io) in May 2018

Ondro Mihályi

May 30, 2018
Tweet

More Decks by Ondro Mihályi

Other Decks in Programming

Transcript

  1. BETTER USER EXPERIENCE updates when ready, reduced waiting errors raised

    ASAP users can react faster avoids unnecessary user retries @OMihalyi
  2. HANDLE HIGH LOADS utilize resources at maximum (CPU) threads aren't

    wasted by blocking avoid blocking of new requests @OMihalyi
  3. DON'T FORGET ABOUT FAILURES fail fast and avoid waste make

    sure failures are handled failures happen a lot more in distributed systems @OMihalyi
  4. MORE TO COME IN MICROPROFILE Reactive REST & SSE (Java

    EE 8) Async CDI events (Java EE 8) Async Fault Tolerance interceptors Reactive streams @OMihalyi
  5. WE'LL ADD WHAT'S MISSING RxJava (Reactive Streams) handle callbacks and

    data streams asynchronous Fault Tolerance React.js easy updates on events @OMihalyi
  6. WE'LL ADD MORE Java EE 8 reactive REST client (JAX-RS)

    Server-Sent Events Kafka JCA connector Hazelcast distributed cache and other structures NoSQL distributed datastore @OMihalyi
  7. PAYARA SERVER MicroProfile, Java EE, Hazelcast, Cloud JCA Connectors, CDI

    event bus dynamic clustering (suitable for cloud) fast development admin console monitoring @OMihalyi
  8. PAYARA MICRO APIs as in Server (except SOAP, remote EJB)

    most of features of the Server executable JAR, <70 MB easier to install and run apps command line, maven plugin build uber JAR @OMihalyi
  9. WHAT TO AVOID relying on request scope relying on thread

    local using synchronous CDI interceptors @OMihalyi