$30 off During Our Annual Pro Sale. View Details »

Du réactif au service du pneu connecté

Du réactif au service du pneu connecté

Julien Ponge

April 18, 2019
Tweet

More Decks by Julien Ponge

Other Decks in Programming

Transcript

  1. Du réactif au service du
    pneu connecté
    Fabien Pomerol et Julien Ponge
    Devoxx France 2019

    View Slide

  2. Fabien Pomerol Julien Ponge
    @jponge
    @FabienPomerol

    View Slide

  3. View Slide

  4. View Slide

  5. View Slide

  6. View Slide

  7. SENSORS

    View Slide

  8. ON-BOARD
    ROUTER
    MANUAL DEVICES +
    SMARTPHONE

    View Slide

  9. Building an API to :
    Collect devices data
    Process it
    Generate Insight

    View Slide

  10. Services Use case?
    Tyre end of life prediction
    Security
    (low pressure detection)
    Fleet Management

    View Slide

  11. 23 Million
    Assets
    > 1 Billion
    Device Events
    > 500
    Req / sec
    Low resources
    footprint

    View Slide

  12. Original Architecture
    Monolithic
    REST API
    Event Producer
    Web / Mobile
    Applications

    View Slide

  13. Split Monolith into Microservices
    Rewrite using
    &

    View Slide

  14. Ingestion
    Service
    Micro Services !

    View Slide

  15. Ingestion
    Service
    Assets
    Service
    Micro Services !

    View Slide

  16. Ingestion
    Service
    Assets
    Service
    Tyre
    Maintenance
    Micro Services !

    View Slide

  17. Tyre
    Maintenance
    Edge
    Service
    Ingestion
    Service
    Assets
    Service
    Micro Services !

    View Slide

  18. Insights
    Service
    Ingestion
    Service
    Assets
    Service
    Tyre
    Maintenance
    Edge
    Service
    Micro Services !

    View Slide

  19. Ingestion
    Service
    Assets
    Service
    Alerting
    Tyre
    Maintenance
    Edge
    Service
    Insights
    Service
    Micro Services !

    View Slide

  20. Micro Services !
    Ingestion
    Service
    Assets
    Service
    Tyre
    Maintenance
    Edge
    Service
    Alerting
    Insights
    Service

    View Slide

  21. Vert.x = ?

    View Slide

  22. Blocking I/O don’t scale!
    Thread request #1
    Thread request #2

    View Slide

  23. Resources are scarce!
    “Cloud native”
    Virtual machines
    Containers

    View Slide

  24. Event-loop thread
    Async I/O do scale!
    Async events

    View Slide

  25. Reactive Systems
    Elasticity
    Resiliency
    Responsiveness

    View Slide

  26. Reactive
    Asynchronous
    Event-driven Toolkit
    Fast
    Polyglot
    Versatile

    View Slide

  27. Ingestion Flow
    Ingestion
    Service
    Event Producer
    TCP
    Socket
    HTTP://
    MQTT

    View Slide

  28. { demo }

    View Slide

  29. Service Aggregation
    Web / Mobile
    Applications
    Edge
    Service
    Assets
    Service
    Insights
    Service
    http://
    http://
    http://
    Composition

    View Slide

  30. Callback
    Future
    CompletionStage
    Quasar
    RxJava / RxKotlin
    Kotlin coroutines
    Event

    View Slide

  31. { demo }

    View Slide

  32. Event Driven Microservices
    Ingestion
    Service
    Insights
    Service
    Alerting
    Service
    Events splits
    by topic
    Consume
    Pressure
    Events
    Publish
    Computed
    Insights
    Consume
    Insights

    View Slide

  33. { demo }

    View Slide

  34. Embracing Async Programming was not so
    easy for the team
    Vert.x is unopinionated: easy to be tempted to
    built Framework / Cathedral
    Vert.x the hard way!

    View Slide

  35. Keep the Vert.x EventBus
    usage inside microservices
    No durability
    No back pressure

    View Slide

  36. View Slide

  37. Data Synchronisation
    Distributed Locks
    Exactly Once Idempotence
    Distributed Cache
    Tracing
    A NEW WORLD OF
    PROBLEMS
    Data Denormalization
    Concurrency Control

    View Slide

  38. You can’t survive without
    monitoring and tracing !

    View Slide

  39. 40% off (all Manning)
    ctwdevoxxfr19

    View Slide

  40. Thank you!
    Fabien Pomerol et Julien Ponge
    Devoxx France 2019 Icons made by Freepik, Smashicons
    from www.flaticon.com

    View Slide