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

Целина дава нулиране на връзката от партньор

Намерих връзката за почивка от партньорска грешка и предположих, че RabbitMQ не слуша порта или има защитна стена, която го блокира. Това не беше така.

Работи RabbitMQ на Ubuntu 16.04.2 LTS, версия, инсталирана от apt:3.5.7-1ubuntu0.16.04.1

Резултатът от 'netstat -a' за порт на Rabbit 5672 изглеждаше така:

$ netstat -a|grep -i amqp
tcp6       0      0 [::]:amqp               [::]:*                  LISTEN

Въпреки това, Rabbit всъщност слушаше както IPv4 адреса, така и IPv6 адреса. Проверих това с netcat.

За да достигнете до Rabbit от друга машина, трябва да настроите потребителски акаунт с нещо като следните команди:

sudo rabbitmqctl add_user celery celerypassword
sudo rabbitmqctl add_vhost celery_vhost
sudo rabbitmqctl set_user_tags celery celerytag
sudo rabbitmqctl set_permissions -p celery_vhost celery .* .* .*

Проблемът беше моят URL адрес. Моят изглеждаше така:

BROKER_URL = 'amqp://celery:[email protected]//'

След тази предпоследна наклонена черта е името на vhost. По-горе дадох на моя vhost името celery_vhost. За да се свържа, трябваше да променя URL адреса на:

BROKER_URL = 'amqp://celery:[email protected]/celery_vhost'

Открих това, гледайки логовете на Rabbit в /var/log/rabbitmq. Има файл .log, който съдържаше следната грешка, когато имах грешен URL:

{handshake_error,opening,0,
{amqp_error,access_refused,
"access to vhost '/' refused for user 'celery'",
'connection.open'}}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Има ли добър начин да подкрепите поп членовете на Redis Sorted Set?

  2. PooledRedisClientManager не освобождава връзки

  3. Архитектура на микросервизи за много чест достъп до данни; в решения за памет?

  4. Съхранение на MessagePacked хеш в Redis

  5. Как да съхранявате в Redis сортиран набор с времеви печат от страна на сървъра като резултат?