Краткое изложение опыта и уроков, извлеченных из использования коммерческой крови Alibaba rocketmq

Поскольку данные о поведении пользователей компании используют экземпляры Rockmq серии Alibaba 4.0 в качестве промежуточного программного обеспечения сообщений для расчета данных в реальном времени, нам необходимо подключиться к rocketmq, чтобы получить данные для расчета и загрузки. По разным причинам основная причина заключается в том, что мы не связаны напрямую. MQ Alibaba через интерфейсы, инкапсулированные другими отделами, а также ограничения вычислительной и обрабатывающей среды в реальном времени этого отдела приводят к проблемам в последующем использовании mq. Чтобы решить эту проблему, мы могу реорганизовать только часть кода.Я не хочу, чтобы вы столкнулись с такой же большой ямой, поэтому хочу написать. В этой статье обобщается использование mq, чтобы оставить некоторые воспоминания об этом кровавом уроке.Я также надеюсь, что это может быть немного полезно программистам, которые готовятся использовать Alibaba mq.

Конкретные детали и характеристики Alibaba mq здесь обсуждаться не будут, здесь мы в основном объясним проблемы, с которыми мы столкнулись при использовании протоколов http и tcp во время использования.

  • http-протокол

Он предоставляет SDK для Java, Go, Python, Node.js, php, C#, C/C++ и имеет богатый выбор, но потребитель протокола http поддерживает только режим извлечения.

Протокол http использует сериализацию XML, поэтому атрибуты, содержимое, тег, ключ и т. д. сообщения должны соответствовать спецификации XML, иначе при сообщении или извлечении сообщения будет сообщено об ошибке. Если оно содержит специальные символы, оно рекомендовал кодировать сообщение для передачи и приема.

Группа потребителей протокола http имеет очень невыгодный недостаток: она не поддерживает точки сброса потребления, а это значит, что невозможно использовать предыдущие сообщения.

Данные, возвращаемые интерфейсом сбора накопления сообщений группы потребителей протокола HTTP, неверны и проблематичны, а также неправильный общий значок экземпляра mq. Вы можете увидеть правильное количество накоплений сообщений, только щелкнув группу потребителей. Если Вам нужно отслеживать накопление сообщений и тревожить их, используйте Alibaba. Интерфейс неточный.

Время ответа на потребление сообщения составляет 30 секунд.

  • TCP-протокол

Он предоставляет SDK только для Java, C/C++ и .net и поддерживает меньше языков разработки, чем http.

Используя этот протокол, группа потребителей не столкнется с проблемами, связанными с ошибками специальных символов.

Стандартная версия поддерживает только режим push-сообщений и не поддерживает режим pull. Для обновления до платиновой версии или выше необходимо добавить w, чтобы поддерживать режим pull.

Поддерживает сброс точки потребления, а данные журнала невыполненных сообщений точны.

Время ответа на потребление сообщения составляет 30 секунд.

Можно отправлять и получать сообщения между клиентами протокола TCP и клиентами протокола HTTP. Однако, поскольку TCP не обязан соответствовать спецификациям XML, если они смешаны, могут существовать терминалы опрашивающих сообщений HTTP.

  • Сравнение графиков

2ca3986faaa1c4ead407726bb95cd4c5.png

  • в заключение

Этот обзор относится к коммерческой версии Alibaba mq серии 4.0. MQ имеет некоторые функции, такие как отложенные сообщения, запланированные сообщения и высокая пропускная способность, поэтому он может потребоваться некоторым предприятиям. Если его необходимо использовать, нет ограничения на язык программирования. По-прежнему рекомендуется, чтобы как сторона производства сообщений, так и сторона потребителя использовали протокол TCP. Вы должны выбрать это из скорости потребления, точности мониторинга журнала невыполненных сообщений и возможности сброса местоположения потребления. Если вы хотите узнать более подробную информацию, вы можете перейти к официальным документам Alibaba, чтобы увидеть адрес:

https://help.aliyun.com/product/29530.html

おすすめ

転載: blog.csdn.net/qq_21372359/article/details/127676240
おすすめ