CameleeringCameleer

Cameleering / Cameleer / Alternatives / Apache Camel in Rust

Apache Camel alternatives · checked 2026-11-12

Apache Camel in Rust: the options, and what has been measured

If you want Apache Camel's routing model without the JVM, there are three Rust projects to look at and one do-it-yourself path. They differ in one question that decides a migration: do your existing Camel routes run unchanged? This page compares them on facts from each project's own repository, and shows the one benchmark against Apache Camel that has been published.

Cameleer is one of the options, so read this as a vendor's comparison. Facts about other projects come from their repositories and crates.io pages, linked in the sources. Corrections are welcome as a GitHub issue.

The short answer

if you wantlook at
your existing Camel YAML or XML routes to run unchanged, as one native binaryCameleer [1]
Camel-style routing designed around Rust's Tower middleware, and you accept pre-release APIsrust-camel [2]
a small library of protocol building blocks (HTTP, files, SFTP, S3, SMTP, a scheduler) to wire yourselfrust-integration-services [4]
full control and only a few integrationsyour own service on tokio and the client crates you need
Camel itself, faster to startApache Camel on Quarkus native [6] (not Rust, but no JIT warm-up)

The Rust projects side by side

Cameleerrust-camelrust-integration-services
what it isa reimplementation of Apache Camel: the same EIPs, endpoint URIs, Simple language, YAML and XML DSLs"Apache Camel-style integration routes in Rust", with EIPs as Tower middleware [2]an integration library for receiving and sending data over common protocols [4]
Camel routes run unchangedyes for YAML and XML; Java DSL routes are rewritten in the Rust DSLnot a goal: it is for evaluating Camel-inspired routing "without assuming drop-in compatibility" [2]no (not Camel-shaped)
componentsabout 230 components, languages and data formatsabout 30 listed, including timer, http, kafka, mqtt, redis, sql, jms, grpc, llm and mcp [2]file, HTTP/1.1 and 2, scheduler, SFTP, SMTP, S3 and others, as cargo features [4]
dependenciesRust standard library only (TLS, HTTP/2, Kafka and the other protocols written in-tree)built on Tower and the Rust ecosystem [2]built on tokio and hyper [4]
statusreleased (0.6.0 on crates.io); container image on Docker Hub and GHCRpre-release; "APIs may change" [2]; camel-core 0.66.0 on crates.io [3]rust-integration-services 0.5.41 on crates.io [5]
licenceApache-2.0Apache-2.0 [2]MIT [4]
benchmarked against Apache Camelyes, published with method and raw data (below)no published comparison foundno published comparison found

The crate names differ: rust-camel publishes camel-core, camel-cli and other camel-* crates; Cameleer publishes cameleer-*. Neither is an Apache Software Foundation project.

What has been measured against Apache Camel

The only published head-to-head we found: Cameleer 0.4.0 against Apache Camel 4.23.0 on Java 21 and Camel 4.22.1 on Quarkus 3.40.0 native, with the same routes on identical DigitalOcean c-4 machines, measured 2026-11-06 [6].

metricApache Camel (JVM)Camel (Quarkus native)Cameleer
time to a started context1.1 s30 ms3 ms
memory at startup114 MB69 MB8 MB
peak memory, 11 scenarios214–440 MB113–199 MB7–67 MB
throughput vs Cameleer, 11 scenariosCameleer 1.7–8.7xCameleer 1.9–9.9x—
p99, HTTP into Kafka (the one loss)7.8 ms12.6 ms8.6 ms

Every scenario, the method and the raw results: Apache Camel vs Cameleer and BENCHMARKS. We have not benchmarked rust-camel or rust-integration-services, so this page makes no performance claim about them.

How to choose

You have Camel routes already

  • Run them with cameleer validate routes/ first: it loads every file, resolves every endpoint URI against the real components and lists what is missing, without starting anything.
  • YAML and XML routes run unchanged with cameleer run; Java DSL routes, beans and custom components are rewritten in Rust. The migration guide lists what differs.
  • Check the long tail: Apache Camel has 300+ components, Cameleer about 230. The component index shows which exist.

You are starting fresh in Rust

  • If your team thinks in Tower services and wants routes as Rust code first, rust-camel is designed for that.
  • If you need two or three protocols and no routing language, a library such as rust-integration-services, or your own tokio service, is less to learn.
  • If you want Camel's patterns, YAML that a non-Rust team can read, and published numbers, start with Cameleer's getting started.

Common questions

Is there an Apache Camel alternative written in Rust?

Yes. Cameleer reimplements Apache Camel in Rust and runs Camel's YAML and XML routes unchanged as one native binary with about 230 components. rust-camel offers Camel-style routing built on Tower middleware and is pre-release. rust-integration-services is a smaller integration library that is not modelled on Camel.

Which one runs my existing Camel routes?

Cameleer, for routes written in Camel's YAML or XML DSL: the endpoint URIs, EIPs, Simple expressions and headers carry over. Routes written in Camel's Java DSL, and Java beans or custom components, have to be rewritten in Rust. rust-camel says it is not a drop-in replacement.

How much faster is Camel in Rust?

Cameleer was measured against Apache Camel 4.23 on Java 21 on identical cloud machines: 3 ms to start against 1.1 s, 4.8 to 54 times less peak memory, and 1.7 to 8.7 times the throughput, with one scenario where its p99 latency was higher. No published benchmark of the other Rust projects against Camel was found.

Is Cameleer the same project as rust-camel?

No. They are independent projects by different authors. rust-camel publishes the camel-* crates on crates.io; Cameleer publishes the cameleer-* crates. Neither is part of the Apache Software Foundation.

Is Camel on Quarkus native an alternative?

For startup time, yes: it started in 30 ms in the same benchmark, against 1.1 s on the JVM. It keeps Java and Camel's full component catalogue, but it had the lowest throughput of the three runtimes measured, because native images have no JIT compiler.

Sources

Checked on 2026-11-12.

  1. Cameleer: cameleering/cameleer on GitHub and its documentation.
  2. kennycallado/rust-camel on GitHub: description, README (components, status, intended users), licence.
  3. camel-core on crates.io (version 0.66.0).
  4. AndreasLill/rust-integration-services on GitHub: description, README features, licence.
  5. rust-integration-services on crates.io (version 0.5.41).
  6. Cameleer benchmarks: BENCHMARKS, raw results in benchmarks/results/2026-11-06-linux.