Infinitic’s First Release!

I’m happy to announce the first public release 0.1 of Infinitic!

This release includes:

  • Infinitic packages published on Maven Central Repository
  • A documentation website:
  • Some examples repositories, also described in the documentation:
    • a “hello world” app (Java and Kotlin)
    • a booking app, featuring a Saga pattern (Java and Kotlin)

I believe that Apache Pulsar is the best distributed messaging and streaming platform out there, and I want Infinitic to be the best framework to build distributed apps on top of it.  

Distributed apps are notoriously difficult to build. Infinitic let you code a scalable and reliable distributed system as if you were on a single infallible server. What Infinitic (and Pulsar) handles for you:

  • The details how services communicate together through Pulsar
  • The handling of failures (server crashes, network issues, or bugs) => making sure that everything is eventually processed
  • The orchestration of workflows between services
  • The dashboards (not in this release yet)

As illustrated below, this release lets you build workflows that:

  • dispatch tasks (handling failure and automatic retries)
  • include:
    • synchronous or asynchronous tasks, 
    • synchronous or asynchronous  child workflows
    • parallel branches 
    • waiting for asynchronous completion

It has already been a long journey, but this is only the beginning, as many more improvements are coming.

I hope you’ll give Infinitic a try and give me your feedback. I’m eager to learn what you do with it.

Note: the guys at Pulsar gave me a #infinitic room in the Apache Pulsar Slack (if you are not here already, I recommend self-registering).