Architektonicznie obie opcje są takie same, jak przechowywanie danych na serwerze bazy danych Oracle w celu pobrania przez inną aplikację.
Zarówno RabbitMQ, jak i rozwiązanie Redis wymagają, aby Twoje aplikacje łączyły się z serwerem pośredniczącym, który obsługuje komunikację danych. Redis jest najbardziej podobny do Oracle, ponieważ może być używany po prostu jako trwała baza danych z sieciowym API. Ale RabbitMQ jest trochę inny, ponieważ broker MQ nie jest tak naprawdę odpowiedzialny za utrwalanie danych. Jeśli skonfigurujesz je prawidłowo i użyjesz odpowiednich opcji podczas publikowania wiadomości, RabbitMQ faktycznie utrwali dane za Ciebie, ale nie możesz ich usunąć, chyba że w ramach normalnego procesu kolejkowania wiadomości. Innymi słowy RabbitMQ służy do przekazywania wiadomości i oferuje trwałość tylko jako sposób na naprawienie problemów z siecią lub awariami systemu.
Sugerowałbym używanie RabbitMQ i dowolnych języków programowania, które już znasz. Ponieważ M w LAMP jest zwykle interpretowane jako MySQL, oznacza to, że albo w ogóle nie używasz MySQL, albo używasz go tylko do długoterminowego przechowywania danych, a nie do komunikacji w czasie rzeczywistym.
Witryna RabbitMQ zawiera ogromną ilość dokumentacji dotyczącej tworzenia aplikacji za pomocą AMQP. Sugeruję, abyś po zainstalowaniu RabbitMQ przeczytał dokumentację dla rabbitmqctl
a następnie utwórz vhost
eksperymentować. W ten sposób można łatwo posprzątać eksperymenty bez resetowania wszystkiego. Proponuję również używać tylko wymiany tematów, ponieważ możesz emulować zachowanie wymiany bezpośredniej i fanoutowej, używając symboli wieloznacznych w kluczu routingu. Pamiętaj, że publikujesz tylko wiadomości na giełdach i otrzymujesz wiadomości tylko z kolejek. Wymiana jest odpowiedzialna za dopasowanie wzorca klucza routingu komunikatu do klucza bindowania kolejki w celu określenia, które kolejki powinny otrzymać kopię komunikatu. Warto poznać cały model AMQP, nawet jeśli planujesz wysyłać wiadomości tylko do jednej kolejki o tej samej nazwie co klucz routingu.
Jeśli budujesz swojego klienta w przeglądarce i chcesz zbudować prototyp, powinieneś rozważyć użycie XHR już dziś, a następnie przejść do czegoś takiego jak Kamaloka-js, który jest czystą implementacją Javascript w AMQP (protokół AMQ), który to standardowy protokół używany do komunikacji z brokerem komunikatów RabbitMQ. Innymi słowy, zbuduj go z tym, co znasz dzisiaj, a następnie przyspiesz później, co (AMQP), co ma długoterminową przyszłość w twoim zestawie narzędzi.