Which AMQPSpout are you using? - rabbitmq

I would like to consume messages from the RabbitMQ using a an AMQP Spout.
Can you recommend me some good one (meaning tested also on the production)?

I found this spout https://github.com/ppat/storm-rabbitmq suitable for my project. I didn't tested yet in production, but it behaves well in the development phase.
I hope that this answer will help others.
Good luck.
Florin

Related

RabbitMQ client in Elm

I'm a newbie in Elm-lang and am writing a program that requires the backend to consume messages from rabbit. I was mainly programming using Elixir before and all the other languages I used had open source rabbit clients. I wonder if there is one for Elm since I couldn't find any on github.
If there isn't one, what's the recommendation for solving this problem? Shall I switch to use web-socket or use frontend to get messages? I was also looking into using haskell servant like this but it seems to make things complicated: https://github.com/haskell-servant/example-servant-elm
This project has probably long since been finished but RabbitMQ can also use the mqtt protocol which is much more widely used by frontend languages and frameworks. Maybe something like this would work:
https://github.com/Jwsonic/elm-mqtt

RabbitMQ configuration for Wildfly

Does anyone successfully replace HornetQ by RabbitMQ in Wildfly 8?
I'm trying to use our enterprise messaging system and extract the logic of messaging from our base app server to separate the concern between messaging and our core product.
I looked on the web and did not find anything useful as how to change the standalone.xml
Any help, even if the answer is - it is not possible - would be great.
Thank you
My bounty is about to expire and I don't see help until now. So, I am answering as per my experience.
From question:
Any help, even if the answer is - it is not possible - would be great.
Don't know, but we don't need to do that. I have found a work around for that.
Answer is RUN RABBITMQ's OWN SERVER
I followed this link to install it on ubuntu server. Then I read these awesome and simple tutorials. Those six tutorials were great base to start with.
I am now integrating the project with my Java EE project which runs on Wildfly 9 server.
Best of luck to anyone who ends up here. Any constructive edits and answers are welcomed.

Load-testing xmpp server

I am looking for a tool capable of generating multiple Xmpp connections to load-test a XMPP server with a secure connection, especially starttls.
For a xmpp plain text authentication I had used jab_simul(followed this tutorial) and tsung both with success.
But I was unable to use the tolls above for the starttls,I peeked into the code of both tools and tried different configurations of the tools.
Another option I am pondering is using a xmpp library like eXmpp and make a specific load-testing tool myself with, instead of altering jab_simul (C software with comments in language i do not understand) or altering tsung(all purpose load-testing tool, so lots of place where you can go wrong).
short-story - I am looking for a tool or advice to stress-testing/load-testing a xmpp server.
We are facing exactly the same challenge right now. After deep consideration we found out that only especially build software can deliver the load we want to test. (Remember, you can configure ejabberd to something very specific :-)
For that we developed a small library called xmpp_talker https://github.com/burinov/xmpp_talker (Apache Licence) which is a kind of xmpp client made as a gen_server. I find it is a very nice starting point to build any kind of load simulation software. There is also echo_worker example included. So, you have good base to start. At the moment xmpp_talker is suited for exmpp 0.9.7. As far as I know in a few days will be out version 1.0.0. (or 0.9.9?) There are many bug fixes (trust me you don't want to know about them). On monday I will release xmpp_talker for exmpp 0.9.8 with proper service interruption handling.
In case you deside to go the same way xmpp_talker could be useful for you.
Added: Here is also great article that is realted to the topic: https://support.process-one.net/doc/display/EXMPP/Scalable+XMPP+bots+with+erlang+and+exmpp
There's also the recently started XMPP benchmarking project called xmppench which aims to be a high-performance benchmarking tool simulating some reasonable use cases of XMPP servers. It's written in C++, based on Swiften and boost.

What language was RabbitMQ written in?

I'm looking at the repos and there are so many projects, not sure which are wrappers/clients and which is the actual project.
Is it Erlang?
Yes, it is Erlang. You can check this out by downloading the source for the server here:
http://www.rabbitmq.com/releases/rabbitmq-server/v2.3.1/
See Wikipedia: RabbitMQ
The RabbitMQ server is written in Erlang and is built on the Open Telecom Platform framework for clustering and failover.
The actual documentation/promo on http://rabbitmq.com is rather fluffy ;-)

What's wrong with DCOM?

There seems to be a lot of enmity against DCOM, and I'm curious to understand why. For a company still writing to the Win32 SKD using C++, is there any real reason not to use DCOM in current or future development? Is some future version of Windows not going to support it? Is it too fragile and fails to work often? Is it too complicated to implement compared to other technologies? What's the deal?
Security model. Especially when computers are not in the same domain (or aren't in domain at all).
Auto interfaces modeled for Visual Basic (original, not .NET), obsolete and not pretty to use from other languages.
If you only want to develop in C++ and deploy in controlled network, it may still be a good choice.
I dislike COM/DCOM because "Catastrophic failure" is the most unhelpful error message in the history of error messages.
Well, DCOM is a distributed version of COM and COM is very complex by itself and it's very easy to do something wrong unintentionally (see this recent question and the answer to it for examples). With DCOM you just have even more ways to hurt yourself.
Other than that it works and is for example a good way for hosting in-proc COM components in a separated process.
If your trying to build a client server application and want the communication to go across network boundaries (for example the internet) then DCOM can be problematic due to firewalls.
I had worked on a very success server application which was distributed using DCOM, we let the system handle most of the complexity by creating COM+ Server Applications and exporting Application Proxies. In this case it worked very well as long as all of our versions were synched up.
I implemented a large system using DCOM in the late 90's. Although it worked pretty well, there were a couple of issues. For starters it uses unpredictable port numbers for communication. It is not scalable, and you are much better off using WCF than DCOM.
I think momentum has shifted to SOAP and other web service technology because it is:
easier to deploy systems in the presence of firewalls
no vendor lock-in
I've never used DCOM myself, so I can't really comment on its general quality or fitness.