Redis
 sql >> база данни >  >> NoSQL >> Redis

Новак в приложението в реално време - Node.JS + Redis или RabbitMQ -> клиент/сървър как?

Архитектурно и двата ви избора са същите като съхраняване на данни в сървър на база данни на Oracle за извличане на друго приложение.

Както RabbitMQ, така и решението Redis изискват вашите приложения да се свързват с междинен сървър, който обработва комуникациите на данни. Redis е най-подобен на Oracle, защото може да се използва просто като постоянна база данни с мрежов API. Но RabbitMQ е малко по-различен, защото MQ Broker всъщност не е отговорен за постоянните данни. Ако го конфигурирате правилно и използвате правилните опции, когато публикувате съобщение, тогава RabbitMQ всъщност ще запази данните вместо вас, но не можете да извлечете данните, освен като част от нормалния процес на опашка за съобщения. С други думи, RabbitMQ е за комуникация на съобщения и предлага само постоянство като начин за възстановяване от мрежови проблеми или системни сривове.

Бих предложил да използвате RabbitMQ и каквито и езици за програмиране, които вече сте запознати. Тъй като M в LAMP обикновено се интерпретира като MySQL, това означава, че или изобщо няма да използвате MySQL, или ще го използвате само за дългосрочно съхранение на данни, а не за комуникация в реално време.

Сайтът RabbitMQ има огромно количество документация за изграждане на приложения с AMQP. Предлагам след като инсталирате RabbitMQ, да прочетете документите за rabbitmqctl и след това създайте vhost да експериментирате. По този начин е лесно да изчистите експериментите си, без да нулирате всичко. Също така предлагам да използвате само обмен на теми, защото можете да емулирате поведението на директен и разклонен обмен, като използвате заместващи знаци в routing_key. Не забравяйте, че публикувате съобщения само за обмен и получавате съобщения само от опашки. Обменът е отговорен за съвпадението на модела на routing_key на съобщението с binding_key на опашката, за да определи кои опашки трябва да получат копие на съобщението. Струва си да научите целия модел AMQP, дори ако планирате да изпращате съобщения само до една опашка със същото име като routing_key.

Ако изграждате своя клиент в браузъра и искате да създадете прототип, тогава трябва да помислите просто да използвате XHR днес и след това да преминете към нещо като Kamaloka-js, което е чисто Javascript реализация на AMQP (протоколът AMQ), който е стандартният протокол, използван за комуникация с брокер на съобщения RabbitMQ. С други думи, изградете го с това, което знаете днес, и след това го ускорете по-късно, което нещо (AMQP), което има дългосрочно бъдеще във вашата кутия с инструменти.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Джедаите Променят ли семантиката на Redis?

  2. Въведение в Redis Data Structures:Bitmaps

  3. rails + docker + sidekiq + Грешка при свързване към Redis на 127.0.0.1:6379 (Errno::ECONNREFUSED)

  4. Има ли блокираща библиотека Redis за node.js?

  5. Redis - Използване на стойност Incr в транзакция