我是 C++ 的新手,但在 Java EE 方面有很多经验。
我需要编写一个高度异步的小应用程序。它从 HTTP 接收数据并将其存储在队列中(它需要有保证的交付和非常高的吞吐量),比如 ActiveMQ 或 OpenMQ,可能通过 JMS。
然后另一个 C++ 应用程序/侦听器从队列中取出数据(通过一些由队列直接激活的侦听器,而不是通过我的池),连接到 MySQL 数据库并进行一些业务逻辑计算并将消息发送到另一个队列。
在 Java EE 中,这将是一个将消息发送到 JMS 队列的 Web 应用程序。消息驱动 Bean 将成为 EJB 模块中这些消息的消费者,而会话 EJB 将消息发送到传出 JMS 队列。
有C ++经验的人可以向我解释一些基础知识:
JMS 是 C++ 保证交付队列的唯一选择吗?您是否建议 ActiveMQ 或其他东西,请记住消息 Consumer 将使用 C++。
我是否需要在 C++ 中创建某种多线程守护程序来侦听队列消息,或者这个线程创建(消息消费)是 ActiveMQ 的 C+ 消费者实现的一部分?
非常感谢有关如何实施上述方案的任何其他建议。
已编辑:我希望消息代理和客户端使用 C++。ActiveMQ 是一个 Java 产品,这并不是我们真正需要的。