Page tree
Skip to end of metadata
Go to start of metadata


Q: Почему RabbitMQ?
A: по нашим тестам за последние 4 года совокупная стоимость владения контуром RabbitMQ наиболее низкая из всех серверов реализующих протокол AMQP, а также важный момент - RabbitMQ используется для интеграции телеметрии внутри платформы OpenStack и создавался изначально, чтобы быть максимально производительным в режимах высокой доступности и отказоустойчивости

Q: Какой формат передачи данных выбрать?
A: Любой - начиная от JSON и заканчивая EDI, единственная рекомендация - используйте максимально маленькие сообщения: RabbitMQ создан чтобы обеспечивать высокоскоростную передачу событий, а не файлов. В целом полезно изучить следующие ссылки или переслать их администраторам: http://www.rabbitmq.com/blog/2012/04/17/rabbitmq-performance-measurements-part-1/ http://www.rabbitmq.com/blog/2012/04/25/rabbitmq-performance-measurements-part-2/

Q: Как мониторить RabbitMQ?
A: Мы советуем использовать уже готовый шаблон Zabbix https://github.com/jasonmcintosh/rabbitmq-zabbix или использовать облачный сервис CloudAMQP со встроенным мониторингом

Q: Как настроить высокую доступность и отказоустойчивость RabbitMQ?
A: Используйте https://github.com/silverbulleters-forks/docker-rabbitmq-cluster/blob/master/docs/RU-README.md в качестве персональных экспериментов. Попросите своих администраторов настроить контур RabbitMQ согласно штатной инструкции. Используйте облачный сервис CloudAMQP со встроенной поддержкой отказоустойчивости и высокой доступности

Q: Как обеспечить гарантированность доставки? 
A:

  • Для сообщений, которые вы хотите доставить "обязательно" необходимо:
    • устанавливать флаг persistence равным истина в методе BasicPublish;
    • а очередь, которую вы определяете для хранения сообщений, вы указываете как "durable" = истина в методе DeclareQueue;
    • таким образом очередь будет гарантирована сохранена на диск "в случае аварии" и сообщения которые в ней хранятся будет сохранены в базе RabbitMQ (Mnesia).
  • в подсистеме 1С - по умолчанию все сообщения и очереди создаются как гарантированные к доставке;
  • в облачном сервис CloudAMQP дополнительно настроена политика "высокой доступности" - когда очереди и сообщения сохраняются между нодами кластера и гарантированно будут доставлены, даже если обрушилось "железо";
  • полезно изучить следующий материал https://www.rabbitmq.com/ha.html.

Q: Что такое событие?
A: "документ проведен" – это, конечно, событие, но лучше всего использовать конкретные бизнес-события "в заказе покупателя добавлена новая строка"

Q: Я интегрируюсь через COM соединение, SOAP, HTTP и почему через вашу компоненту лучше?
A: Протокол AMQP и C++ компонента ориентирована на высокую нагрузку – «миллионы» событий в секунду

© Данный список часто задаваемых вопросов разработчиков подготовлен SilverBulleters, LLC

  • No labels