hugoestr

hugoestr

Is there an Elixir alternative to Apache Camel?

Hi,

We are exploring creating an integration system to connect and communicate with systems outside of our company. We are leaning towards adopting Apache Camel. However, a few of us would rather work with the Beam than the JVM.

Is there any integration system in Elixir that is similar to Apache Camel? I have tried searching, but search is sort of broken on the internet right now. I am getting a lot of garbage pages. I am going to keep looking, though.

That said, if someone in the Elixir community knows the answer, that would be awesome. I would love to add that hypothetical framework to the proposal

Most Liked

jdiago

jdiago

Never heard of Camel before but had a peek at the docs…

Instead of “Elixir alternative to Camel,” I think the better question to ask is: What are you trying to do in Camel and how can you do that with Elixir instead?

Just from skimming the docs, I see hints of plain Elixir/OTP features, Phoenix, and GenStage/Broadway.

Take this reply with a grain of salt. I am biased. I cringed when I saw “Enterprise Integration Pattern.”

rhcarvalho

rhcarvalho

If you have existing dependencies written in Java or other JVM language, or the “enterprisey” aspect is guiding the decision, maybe the BEAM or anything else might be a hard sell.

But it seems there’s room for proposing alternatives, in which case you could compare the many patterns of message-based communication listed in EIPs :: Apache Camel with native/equivalent solutions in the BEAM (as in previous answers in the thread).

Reminds me of that slide comparing BEAM with other stacks, how it replaces a lot of separate components. The legendary talk The Soul of Erlang & Elixir by Saša Jurić https://youtu.be/JvBT4XBdoUE?si=pyKU-_EOHzrTsH1Q&t=36m40s.

Good luck!

hugoestr

hugoestr

Thanks so much for your response. I think this was very useful. I am going to explore and present Elixir/Beam as an alternative.

jswanner

jswanner

There’s always JInterface (kind of kidding, I have no experience with it)…

krasenyp

krasenyp

I’d say use Camel as a glue to move messages from external systems to internally managed RabbitMQ and the use Elixir for processing.

This was a feasible approach a few years back and I can only imagine Camel getting better since then.

Where Next?

Popular in Thoughts On... Top

markmark206
Downloading Erlang / Elixir from https://packages.erlang-solutions.com/ stopped working for us today. Is there another “official” / safe...
New
asinghbrar
Hi everyone, We’re in the process of moving our organization toward a monorepo and I’d love to hear from folks who’ve done this with Eli...
New
hugoestr
Hi, We are exploring creating an integration system to connect and communicate with systems outside of our company. We are leaning towar...
New

Other popular topics Top

joaquinalcerro
Hi there, I am working with Ecto-Postgresql and I need to call all of the records from a specific table but the table has 40,000 record...
New
jerry
Good day to you all. I have been struggling to get a query involving like and ilike to work. Can anyone assist me on this, please? pro...
New
sergio_101
I am VERY much an elixir newbie. I have taken one elixir course and one phoenix course on Udemy. During that course, I saw the instructor...
New
malloryerik
Hi, this is for people who, like me, have had some friction using .html.heex templates in VSCode. The solution seems to be, in a hyphena...
New
lastday4you
I wanted to check elixir version in phoenix because i found that my elixir is 1.5 but when i use Enum.chunk_by it said the function is un...
New
aadeshere1
I have a another noob question about loop. Since elixir is immutable, while loop is not directly possible. total = 10 while total != 0 ...
New
vonH
When I run the Plug and I recompile I wind up having to use Ctrl C to quit iex and start again. Witht the help of rlwrap I can use the cu...
New
stefanluptak
Hello everybody, usually, I use a 29" ultra-wide monitor for VSCode which can easily accomodate explorer (files panel) + file with code ...
New
josevalim
Hi everyone, One of the features added to Elixir early on to help integration with Erlang code was the idea of overridable function defi...
New
TunkShif
This post is an instruction guide to help you setup your Neovim for Elixir development from scratch. It includes general information on h...
273 38985 115
New

We're in Beta

About us Mission Statement