All Projects → fishtrip → Watchman

fishtrip / Watchman

Licence: mit
A simple message queue callback center

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Watchman

Lemon Rabbitmq
乐檬框架之rabbitMQ的解耦实现方式(基于springboot框架),利用ConfirmCallback确保消息安全发送至broker服务器,使用Ack/Nack手动确认消息处理状态,保证broker消息被正确消费
Stars: ✭ 46 (-83.03%)
Mutual labels:  rabbitmq, message-queue
Qmq
QMQ是去哪儿网内部广泛使用的消息中间件,自2012年诞生以来在去哪儿网所有业务场景中广泛的应用,包括跟交易息息相关的订单场景; 也包括报价搜索等高吞吐量场景。
Stars: ✭ 2,420 (+792.99%)
Mutual labels:  rabbitmq, message-queue
Hippo
💨A well crafted go packages that help you build robust, reliable, maintainable microservices.
Stars: ✭ 134 (-50.55%)
Mutual labels:  rabbitmq, message-queue
Enqueue Dev
Message Queue, Job Queue, Broadcasting, WebSockets packages for PHP, Symfony, Laravel, Magento. DEVELOPMENT REPOSITORY - provided by Forma-Pro
Stars: ✭ 1,977 (+629.52%)
Mutual labels:  rabbitmq, message-queue
roger-rabbit
A module that makes the process of consuming and publishing messages in message brokers easier
Stars: ✭ 12 (-95.57%)
Mutual labels:  rabbitmq, message-queue
Plumber
A swiss army knife CLI tool for interacting with Kafka, RabbitMQ and other messaging systems.
Stars: ✭ 514 (+89.67%)
Mutual labels:  rabbitmq, message-queue
Kombu
Kombu is a messaging library for Python.
Stars: ✭ 2,263 (+735.06%)
Mutual labels:  rabbitmq, message-queue
Benthos
Fancy stream processing made operationally mundane
Stars: ✭ 3,705 (+1267.16%)
Mutual labels:  rabbitmq, message-queue
AMQPClient.jl
A Julia AMQP (Advanced Message Queuing Protocol) / RabbitMQ Client.
Stars: ✭ 30 (-88.93%)
Mutual labels:  rabbitmq, message-queue
Yii2 Rabbitmq
RabbitMQ Extension for Yii2
Stars: ✭ 52 (-80.81%)
Mutual labels:  callback, rabbitmq
Enqueue Bundle
[READ-ONLY] Message queue bundle for Symfony. RabbitMQ, Amazon SQS, Redis, Service bus, Async events, RPC over MQ and a lot more
Stars: ✭ 233 (-14.02%)
Mutual labels:  rabbitmq, message-queue
Rebus.RabbitMq
🚌 RabbitMQ transport for Rebus
Stars: ✭ 51 (-81.18%)
Mutual labels:  rabbitmq, message-queue
distmq
Distributed Message Queue based on Raft
Stars: ✭ 32 (-88.19%)
Mutual labels:  rabbitmq, message-queue
OpenSleigh
OpenSleigh is a Saga management library for .NET Core.
Stars: ✭ 198 (-26.94%)
Mutual labels:  rabbitmq, message-queue
alpine-rmq
35MB RabbitMQ Docker image running on Alpine Linux
Stars: ✭ 34 (-87.45%)
Mutual labels:  rabbitmq
KASocialLogins
This is Social login library in which you can login through Facebook , LinkedIn and Google
Stars: ✭ 15 (-94.46%)
Mutual labels:  callback
centos-script
🎉centos下工具安装脚本,包含基础环境配置,Gitlab、Docker、LDAP、MongoDB、MySQL、RabbitMQ、Supervisor、Node、Python、zsh、rar、zabbix、k8s、prometheus、grafana等🎉
Stars: ✭ 121 (-55.35%)
Mutual labels:  rabbitmq
celery-priority-tasking
This is a prototype to schedule jobs in the backend based on some priority using Rabbitmq and Celery.
Stars: ✭ 28 (-89.67%)
Mutual labels:  rabbitmq
Inlineactivityresult
Receive the activity result directly after the startActivityForResult with InlineActivityResult
Stars: ✭ 264 (-2.58%)
Mutual labels:  callback
flask-rabbitmq
A simple Python Flask combined with RabbitMQ pika library
Stars: ✭ 52 (-80.81%)
Mutual labels:  rabbitmq

Feature 特性

  • 高性能。在 macbook pro 15 上测试,每个队列的处理能力可以轻松达到 3000 message/second 以上,多个队列也可以做到线性的增加性能,整体应用达到几万每秒很轻松。同时,得益于 golang 的协程设计,如果下游出现了慢调用,那么也不会影响并发。
  • 优雅关闭。通过对信号的监听,整个程序可以在不丢消息的情况下优雅关闭,利于配置更改和程序重启。这个在生产环境非常重要。
  • 自动重连。当 RabbitMQ 服务无法连接的时候,应用可以自动重连。

Usage 使用

Build

go build -o watchman

Usage

Usage of ./watchman:
  -c string
        config file path (default "config/queues.example.yml")
  -log string
        logging file, default STDOUT
  -pidfile string
        If specified, write pid to file.

优雅关闭:

# kill -QUIT $PID

config 配置

ENV 文件

使用前需要先加载 env,样例见 config/env.example.yml,主要是 RabbitMQ 的配置。

队列配置文件

样例见 config/queues.example.yml, 主要是注明消息队列的配置以及回调地址和参数。

Author 作者

大鱼(fishtrip.cn) 是国内领先的全球民宿平台,给用户提供全球特色的民宿、客栈、别墅等非标准住宿。目前公司的技术栈以 ruby 和 Java 为主,部分中间件采用 golang 编写。

Licence 许可

MIT Licence

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].