SDMQ — это простая очередь сообщений с задержкой, основанная на Redis и Kotlin.
Дизайн: https://www.cnblogs.com/peachyy/p/7398430.html
«Простой, стабильный и расширяемый отложенный обмен сообщениями».
sdmq.registry.serverList
— списка адресов ZK-кластера.setNx
Redis.Рекомендуется использовать режим master slave.
Данные передаются в формате JSON. В настоящее время поддерживается только протокол HTTP.
Параметр | Описание |
---|---|
body | Бизнес-сообщение |
delay | Задержка в миллисекундах относительно createTime
|
id | Идентификатор задачи, автоматически генерируется при создании задачи и возвращается после успешного создания |
status | Статус, по умолчанию не заполняется |
topic | Заголовок |
subtopic | Зарезервированное поле |
ttl | Зарезервированное поле |
createTime | Время создания задачи, не обязательно, используется системное значение по умолчанию |
/push
POST application/json
{"body":"{ffff}","delay":56600,"id":"20","status":0,"topic":"ces","subtopic":"","ttl":12}
Для удаления задачи необходимо записать JobId.
/delete?jobId=xxx
GET
Используется для восстановления задач в случае ошибок или сбоев. Восстановление выполняется на основе журнала.
/reStoreJob?JobId=xxx
GET
Восстановление выполняется на основе журнала, параметр expire
указывает, нужно ли восстанавливать данные, срок действия которых истёк.
/reStore?expire=true
GET
Все данные в очереди будут удалены, включая данные из кеша.
/clearAll
GET
В настоящее время реализована поддержка метода push RocketMQ. На данный момент нет необходимости реализовывать механизм отправки и получения данных самостоятельно. Вместо этого используется сильная зависимость от MQ.
SDMQ | RocketMQ | Примечание |
---|---|---|
Topic | Topic | |
Subtopic | Tag | |
Body | Содержание сообщения | Содержание сообщения |
Планируется переписать на Kotlin или Java.
Необходимо настроить адрес базы данных и адрес Redis, а также адрес ZooKeeper, если используется не одиночный режим.
Запустите тестовый класс io.sdmq.FixTest
, чтобы добавить задачи в очередь.
Чтобы запустить Bootstarp
, выполните потребление данных, добавленных ранее. По умолчанию используется способ потребления consoleCQ
, который выводит данные на консоль.
jmsCQ
. Можно изменить способ, задав -DClassName=xxxx
.Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )