Redis
 sql >> Baza danych >  >> NoSQL >> Redis

Nowicjusz aplikacji czasu rzeczywistego - Node.JS + Redis lub RabbitMQ -> klient/serwer jak?

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.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak usunąć wszystkie dane w Redis

  2. Jak używać sadd z wieloma elementami w Redis za pomocą Pythonowego API?

  3. Jak skonfigurować klaster redis przy użyciu spring-data-redis 1.7.0.M1?

  4. Spring RedisConnectionFactory z transakcją nie zwraca połączenia do puli, a następnie blokuje po wyczerpaniu

  5. Przetwarzanie zbiorcze do Redis