Перейти к основному содержимому

Отправить сообщение в exchange RabbitMQ

Exchange — это точка обмена, другими словами, еще один игрок между отправителем сообщения и очередью. Эта точка обмена распределяет сообщения в одну или несколько очередей.

Для настройки отправки сообщения в exchange RabbitMQ укажите хост, порт, имя пользователя, пароль и имя виртуально хоста.

подсказка

При отправке в RMQ можно указывать или не указывать имя exchange. Если имя exchange не будет передано, то оно будет установлено в соответствии с именем события (см. таблицу Типы событий для захвата).

Далее нас просят выбрать тип exchange:

  1. Тип direct позволяет отправлять сообщения только одной очереди. Причем в ту очередь, имя которой совпадает с ключом маршрутизации(routing key).
  2. Тип topic отправляет сообщения в несколько очередей, у которых совпадает ключ маршрутизации.

По умолчанию активирована опция durable. Это означает, что точка обмена будет постоянно храниться на диске и сможет пережить перезапуск сервера. Если убрать галочку с этого поля, то exchange станет временным и в случае перезапуска сервера удалится.

Также стоит обратить внимание на поле Auto delete (автоудаление). Если активирвоать это поле, то exchange будет удален, как только будут удалены все связанные с ним очереди.

Пример сообщения об уникальном клике в Email
{
"event_type": "uclick",
"event_date": "2021-03-05T14:08:47.18953529+03:00",
"list_id": 123456,
"profile_id": "000000000000000000000000",
"_xxh": "61be4d0b871502d4",
"_md5": "a42c44fc77533b43ffd569ed4c83e377",
"is_test": true,
"event_data": {
"browser": "Firefox",
"campaign_id": 286,
"city": "",
"country": "",
"device": "web",
"ip": "192.168.0.58",
"lat": 0,
"launch_id": "2_5W_4HECAgq2o6H",
"link_url": "https://emailtemplate.ga/?utm_source=email&utm_medium=&utm_campaign=286&utm_term=kirk.mckinney83@example.com&utm_content=9",
"lon": 0,
"message_id": 9,
"os": "Ubuntu",
"postal_code": "",
"region": "",
"segment_id": 0,
"send_message_id": "w4HECAgxdpsf_2_5W_a_6__3_.2MpNdKgZFnZxJbCiJ",
"tz": "",
"user_agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:81.0) Gecko/20100101 Firefox/81.0"
},
"custom_data": {
"email": "kirk.mckinney83@example.com"
},
"account_id": 1,
"sends_trying_num": 1,
"is_static": false
}