WMQ
Обёртка очереди сообщений, основанная на RabbitMQ, поддерживает протокол HTTP.
Рекомендованы ОС Linux, в Windows не работает API «12. Получить или найти последние 100 строк содержимого журнала».
Требования
Вы можете найти предварительно скомпилированный двоичный файл здесь: https://gitee.com/snail/wmq-go/releases или https://github.com/snail007/wmq/releases.
Это консоль с веб-интерфейсом для управления WMQ: https://github.com/phachon/wmq-admin.
Спасибо @phachon!
Использование:
Использование wmq: --api-disable отключить службу API --api-token string токен доступа (по умолчанию «guest») --data-example распечатать пример файла данных --data-file string файл, который будет хранить сообщения (по умолчанию message.json) --fail-wait int доступ к URL потребителя не удался, затем сколько миллисекунд спать (по умолчанию 50 000) --ignore-headers stringSlice эти заголовки HTTP будут игнорироваться при доступе к URL потребителя, несколько разделены запятой (,) --level string уровень журнала консоли, должен быть одним из debug, info, warn, error (по умолчанию «debug») --listen-api string порт службы API (по умолчанию «0.0.0.0:3302») --listen-publish string порт службы публикации (по умолчанию «0.0.0.0:3303») --log-access включить или отключить журнал доступа (по умолчанию true) --log-dir string каталог, в котором хранятся файлы журналов (по умолчанию log) --log-level stringSlice журнал в файл уровня, несколько разделены запятой (,), по умолчанию [info,error,debug] --log-max-count int максимальное количество файлов журнала для поворота (по умолчанию 3) --log-max-size int максимальный размер файла журнала (в байтах) для поворота (по умолчанию 102 400 000) --mq-host string хост, который будет использоваться при подключении к RabbitMQ (по умолчанию «127.0.0.1») --mq-password string пароль, который будет использоваться при подключении к RabbitMQ (по умолчанию guest) --mq-port int порт, который будет использоваться при подключении к RabbitMQ (по умолчанию 5672) --mq-prefix string префикс по умолчанию для очереди и обмена (по умолчанию wmq.) --mq-username string логин, который будет использоваться при подключении к RabbitMQ (по умолчанию guest) --mq-vhost string виртуальный хост, который будет использоваться при подключении к RabbitMQ (по умолчанию /) --realip-header string издательский реальный IP будет установлен в этом заголовке HTTP при доступе к URL потребителя (по умолчанию X-Forwarded-For) --version показать версию о текущем WMQ
Публикация сообщения
Примечание: порт публикации по умолчанию — 3303.
Управление
Примечание: порт управления по умолчанию — 3302.
name, должно быть уникальным Comment: string // комментарий Durable: 1|0 // долговечное или нет, 1: true, 0: false IsNeedToken: 1|0 // нужен токен или нет при публикации этого типа сообщения, 1: true, 0: false Mode: string // должен быть один из fanout, topic, direct Token: string // должен быть установлен, когда IsNeedToken равен 1, в противном случае оставить пустым api-token: string // токен API устанавливается в конфигурации callback: string // имя функции обратного вызова для вызова JSONP, если нет вызова JSONP, оставить пустым response: type: json column: code: 1|0 // 1 означает успех, 0 означает сбой example: no jsonp: {code:1, data:null} или {code:0, data:"some error"} jsonp: callbackxxx({code:1,data:null}) или callbackxxx({code:0,data:"some error"})
2. Обновление сообщения request: protocol: http method: get path: /message/update parameters: Name: string // имя сообщения Comment: string // комментарий Durable: 1|0 // долговечное или нет, 1: true, 0: false IsNeedToken: 1|0 // нужен токен или нет при публикации этого типа сообщения, 1: true, 0: false Mode: string // должен быть один из fanout, topic, direct Token: string // должен быть установлен, когда IsNeedToken равен 1, в противном случае оставить пустым api-token: string // токен API устанавливается в конфигурации callback: string // имя функции обратного вызова для вызова JSONP, если нет вызова JSONP, оставить пустым response: type: json column: code: 1|0 // 1 означает успех, 0 означает сбой example: no jsonp: {code:1, data:null} или {code:0, data:"some error"} jsonp: callbackxxx({code:1,data:null}) или callbackxxx({code:0,data:"some error"})
3. Удаление сообщения request: protocol: http method: get path: /message/delete parameters: Name: string // имя сообщения api-token: string // токен API устанавливается в конфигурации callback: string // имя функции обратного вызова для вызова JSONP, если нет вызова JSONP, оставить пустым response: type: json column: code: 1|0 // 1 означает успех, 0 означает сбой example: no jsonp: {code:1, data:null} или {code:0, data:"some error"} jsonp: callbackxxx({code:1,data:null}) или callbackxxx({code:0,data:"some error"})
4. Добавление потребителя request: protocol: http method: get path: /consumer/add parameters: Name: string // имя потребителя URL: string // URL потребителя сообщения Timeout: int // миллисекунды ожидания ответа при доступе к URL, обычно: 3000 Code: int // код HTTP, этот код определяет, был ли доступ к URL успешным или неудачным, обычно это 200 CheckCode: 1|0 // проверять ли ответный код HTTP при доступе к URL, 1:true, 0:false Comment: string // комментарий потребителя RouteKey: string // ключ маршрутизации Token: string // должен быть установлен, когда IsNeedToken равен 1, в противном случае оставить пустым api-token: string // токен API устанавливается в конфигурации callback: string // имя функции обратного вызова для вызова JSONP, если нет вызова JSONP, оставить пустым response: type: json column: code: 1|0 // 1 означает успех, 0 означает сбой example: no jsonp: {code:1, data:null} или {code:0, data:"some error"} jsonp: callbackxxx({code:1,data:null}) или callbackxxx({code:0,data:"some error"})
5. Обновление потребителя request: protocol: http method: get path: /consumer/update parameters: Name: string // имя потребителя ID: string // ID потребителя URL: string // URL потребителя сообщения Timeout: int // миллисекунды ожидания ответа при доступе к URL, // обычно : 3000 Code: int // HTTP код, этот код решает, был ли доступ к URL успешным или неудачным Обычно это 200.
CheckCode: 1|0 //проверять ли код ответа HTTP при доступе к URL, 1: true, 0: false
Комментарий: string //комментарий потребителя
RouteKey: string //ключ маршрутизации
Token: string //должен быть установлен, когда IsNeedToken равен 1, в противном случае оставить пустым
api-token: string //токен API устанавливается в конфигурации
callback: string //имя функции обратного вызова для вызова JSONP, если вызов JSONP не требуется, оставить пустым
Ответ:
Тип: JSON
Столбец:
Код: 1|0 //1 означает успех, 0 означает неудачу
Пример:
Без JSONP: {код: 1, данные: null} или {код: 0, данные: «некая ошибка»}
JSONP: callbackxxx({код: 1, данные: null}) или callbackxxx({код: 0, данные: «некоторая ошибка»)
Запрос:
Протокол: HTTP
Метод: GET
Путь: /consumer/delete
Параметры:
Имя: string //имя сообщения
ID: string //ID потребителя
api-token: string//токен API устанавливается в конфигурации
обратный вызов: строка //имя функции обратного вызова для вызова JSONP, если вызов JSONP не требуется, оставить пустым
Ответ:
тип: JSON столбец: код: 1|0 //1 означает успех , 0 означает неудачу пример: без JSONP:{code:1,data:null} или {code:0,data:"some error"} JSONP:callbackxxx({code:1,data:null}) или callbackxxx({code:0,data:"some error"})
Запрос: протокол: http метод: get путь: /restart параметры: api-токен: string //токен API устанавливается в конфигурации обратный вызов: string //имя функции обратного вызова для вызова jsonp, если вызов jsonp не требуется, оставить пустым
ответ: тип: json столбец: код: 1|0 //1 означает успех , 0 означает неудачу пример: no jsonp:{code:1,data:null} or {code:0,data:"some error"} jsonp:callbackxxx({code:1,data:null}) or callbackxxx({code:0,data:"some error"})
запрос: протокол: http метод: get путь: /reload параметры: api-токен: string //токен API устанавливается в конфигурации обратный вызов: string //имя функции обратного вызова для вызова jsonp, если вызов jsonp не требуется, оставить пустым
ответ: тип: json столбец: код: 1|0 //1 означает успех , 0 означает неудачу пример: no jsonp:{code:1,data:null} or {code:0,data:"some error"} jsonp:callbackxxx({code:1,data:null}) or callbackxxx({code:0,data:"some error"})
запрос: протокол: http метод: get путь: /config параметры: api-токен: string //токен API устанавливается в конфигурации обратный вызов: string //имя функции обратного вызова для вызова jsonp, если вызов jsonp не требуется, оставить пустым
ответ: тип: json столбец: код: 1|0 //1 означает успех , 0 означает неудачу пример: no jsonp: { "code": 1, "data": [{ "Durable": false, "IsNeedToken": true, "Mode": "topic", "Name": "test", "Token": "JQJsUOqYzYZZgn8gUvs7sIinrJ0tDD8J" "Comment": "", "Consumers": [{ "Comment": "", "ID": "111", "Code": 200, "CheckCode": true
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )