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

Ecrire un microservice Java natif avec Micronau...

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on. →

Ecrire un microservice Java natif avec Micronaut et GraalVM

Avatar for Cédric Champeau

Cédric Champeau

April 13, 2023

More Decks by Cédric Champeau

Other Decks in Technology

Transcript

  1. Building a native microservice with Micronaut and GraalVM Cédric Champeau

    Micronaut, Oracle Labs @[email protected] @CedricChampeau Copyright © 23-4-13, Oracle and/or its affiliates Micronaut® is a registered trademark of Object Computing, Inc. Use is for referential purposes and does not imply any endorsement or affiliation with any third-party product. Unauthorized use is strictly prohibited.
  2. - Working at Oracle Labs on Micronaut Main focus on

    build plugins and dev productivitity @[email protected] - Formerly working at Gradle Inc - Author of static compiler of Groovy - Amateur astronomer @[email protected] https://www.astrobin.com/users/melix/ https://bit.ly/3eGD0GM (Youtube) About me Copyright © 2022, Oracle and/or its affiliates micronaut.io github.com/micronaut-projects/micronaut-core
  3. - Micronaut is focused on modern architectures like Serverless and

    Microservices - Also a complete framework for any type of application - Lightweight, reactive (HTTP Client/Server based on Netty) - Annotation processor to compute framework infrastructure at compile time Micronaut Copyright © 2022, Oracle and/or its affiliates micronaut.io github.com/micronaut-projects/micronaut-core
  4. - Micronaut is OSS software licensed under Apache license version

    2 - Micronaut Foundation - Technology Advisory Board: Jetbrains, Microsoft, Thoughtworks, Amazon, Google, Oracle, Object Computing, Agile Developer - Sponsors: Object Computing, Oracle, Microstream, Safri.net, Vizor, HiveMQ, Gradle Inc, Jetbrains Micronaut is well supported Copyright © 2022, Oracle and/or its affiliates micronaut.io github.com/micronaut-projects/micronaut-core
  5. Micronaut computes: - All dependency & configuration injection - Annotation

    metadata, meta-annotations - AOP proxies - Bean introspections - And all other framework infrastructure - Reflection, runtime proxy, and dynamic classloader free Micronaut = Build Time Framework Infrastructure Copyright © 2022, Oracle and/or its affiliates micronaut.io github.com/micronaut-projects/micronaut-core
  6. - More than 50 modules! - Micronaut SQL: Database access

    - MySQL/MariaDB, Postgres, Oracle, SQL Server, - Pure SQL, Hibernate, Hibernate Reactive, JPA - Micronaut Data - Ahead of Time (AoT) compilation to pre-compute queries for repository interfaces - Micronaut Validation - e.g @NotBlank, @Min(18), ... Example Micronaut Modules Copyright © 2022, Oracle and/or its affiliates micronaut.io github.com/micronaut-projects/micronaut-core
  7. - Micronaut Cache - Caching abstraction - Caffeine, JCache, Redis,

    Ehcache, Hazelcast, Infinispan, MicroStream - Micronaut Security - Authentication/Security rules - Micronaut Discovery - Consul, Eureka, Spring Cloud Config - And many more! - Kafka, MQTT, RabbitMQ, ElasticSearch, MongoDB, Neo4j, OpenAPI, Pulsar, ... Example Micronaut Modules Copyright © 2022, Oracle and/or its affiliates micronaut.io github.com/micronaut-projects/micronaut-core
  8. - Cloud support: Azure, AWS, Google Cloud, Oracle Cloud -

    Micronaut Spring - Integrate Spring components into a Micronaut application - Run Spring applications as Micronaut applications - Expose Micronaut Beans to a Spring Application - Micronaut JAX-RS - using JAX-RS annotations and types in a Micronaut application And also... Copyright © 2022, Oracle and/or its affiliates micronaut.io github.com/micronaut-projects/micronaut-core
  9. High-performance JDK distribution Increases application throughput, reduces latency, reduces memory

    use Graal just-in-time (JIT) compiler that runs on top of HotSpot, written in Java native-image ahead-of-time (AoT) compiler compiles Java applications into small self- contained native binaries Micronaut = Build Time Framework Infrastructure Copyright © 2022, Oracle and/or its affiliates graalvm.org github.com/graalvm/graalvm-demos oracle.com/graalvm
  10. Micronaut + GraalVM Native Image are a match made in

    heaven Less work to configure Native Image because Micronaut eliminates reflection, runtime proxies, bytecode generation and dynamic classloading Startup time 20ms and Memory Consumption 18MB! Micronaut GraalVM ♥️ Copyright © 2022, Oracle and/or its affiliates graalvm.org github.com/graalvm/graalvm-demos oracle.com/graalvm ♥️