Jestem nowicjuszem w C++, ale mam duże doświadczenie w Java EE.C++ i JMS - jak połączyć te dwa?
Potrzebuję napisać małą aplikację, która jest mocno asynchroniczna. Odbiera dane z HTTP i przechowuje je w kolejce (musi mieć gwarantowaną dostawę i bardzo wysoką przepustowość), coś w rodzaju ActiveMQ lub OpenMQ, może za pośrednictwem JMS.
Następnie inna aplikacja/odbiornik C++ pobiera dane z kolejki (przez niektórych odbiorców, które są aktywowane bezpośrednio przez kolejkę, a nie przez moją pulę), łączy się z bazą danych MySQL i wykonuje niektóre obliczenia logiki biznesowej i wysyła wiadomość do kolejna kolejka.
W języku Java EE będzie to aplikacja internetowa, która będzie wysyłać wiadomości do kolejki JMS. Fasola sterowana komunikatami będzie konsumentami tych komunikatów w module EJB, a moduł EJB sesji będzie wysyłać komunikaty do wychodzącej kolejki JMS.
Czy ktoś z C++ doświadczenie proszę wyjaśnić pewne podstawy do mnie:
Czy JMS jedyną opcją dla C++ dla kolejek gwarantowanych dostaw? Czy sugerujesz ActiveMQ lub coś innego, mając na uwadze to, że komunikat Konsument będzie w C++.
Czy muszę utworzyć coś w rodzaju demona wielowątkowego w C++, który nasłuchuje komunikatów kolejki, czy jest to tworzenie wątku (zużycie wiadomości) w ramach implementacji klientów C + ActiveMQ?
Wszelkie inne sugestie dotyczące realizacji powyższego scenariusza byłyby bardzo mile widziane.
EDYCJA: Wolałbym, aby broker komunikatów i klient byli w C++. ActiveMQ to produkt Java, którego naprawdę nie potrzebujemy.
Zobacz [ZeroMQ] (http://www.zeromq.org/). To może być to, czego szukasz. – Codo
ZeroMQ wygląda na bardzo niskim poziomie dla nowicjuszy, takich jak ja. Szukam czegoś, co ma już bibliotekę z wyższym poziomem abstrakcji niezawodnej kolejki komunikatów. – bozo
Czy prawnie zastrzeżonym oprogramowaniem jest opcja? Następnie spójrz na IBM WebSphere MQ, który oferuje szeroki wachlarz bibliotek klienckich ... –