All Projects → sevennt → rocketmq

sevennt / rocketmq

Licence: MIT license
RocketMQ client for go supportting producer and consumer.

Projects that are alternatives of or similar to rocketmq

Kafka Go
Kafka library in Go
Stars: ✭ 4,200 (+14382.76%)
Mutual labels:  consumer, producer
php-kafka-lib
PHP Kafka producer / consumer library with PHP Avro support, based on php-rdkafka
Stars: ✭ 38 (+31.03%)
Mutual labels:  consumer, producer
Confluent Kafka Go
Confluent's Apache Kafka Golang client
Stars: ✭ 3,047 (+10406.9%)
Mutual labels:  consumer, producer
pulsar-flex
Pulsar Flex is a modern Apache Pulsar client for Node.js, developed to be independent of C++.
Stars: ✭ 43 (+48.28%)
Mutual labels:  consumer, producer
Qmq
QMQ是去哪儿网内部广泛使用的消息中间件,自2012年诞生以来在去哪儿网所有业务场景中广泛的应用,包括跟交易息息相关的订单场景; 也包括报价搜索等高吞吐量场景。
Stars: ✭ 2,420 (+8244.83%)
Mutual labels:  consumer, producer
frizzle
The magic message bus
Stars: ✭ 14 (-51.72%)
Mutual labels:  consumer, producer
youtube-dl-nas
youtube download queue websocket server with login for private NAS.
Stars: ✭ 136 (+368.97%)
Mutual labels:  consumer, producer
rocketmq-site
Apache RocketMQ is a cloud native messaging and streaming platform, making it simple to build event-driven applications.
Stars: ✭ 41 (+41.38%)
Mutual labels:  rocketmq
docker-case
这个项目主要是为了快速拉起docker服务
Stars: ✭ 31 (+6.9%)
Mutual labels:  rocketmq
java-tutorial
Java 实践代码,多线程,数据结构,算法,设计模式,Spring,RabbitMQ ,RocketMQ
Stars: ✭ 15 (-48.28%)
Mutual labels:  rocketmq
taotao-cloud-project
微服务开发脚手架,包括大数据模块、微服务模块、前端模块。基于Spring Cloud Alibaba的微服务架构。提供技术框架的基础能力的封装,减少开发工作,只关注业务,包含了工作以来的工作总结和技术沉淀
Stars: ✭ 76 (+162.07%)
Mutual labels:  rocketmq
distmq
Distributed Message Queue based on Raft
Stars: ✭ 32 (+10.34%)
Mutual labels:  rocketmq
standards-maintenance
This repository houses the interactions, consultations and work management to support the maintenance of baselined components of the Consumer Data Right API Standards and Information Security profile.
Stars: ✭ 32 (+10.34%)
Mutual labels:  consumer
incubator-rocketmq
带中文代码注释 Mirror of Apache RocketMQ 源码解析:http://www.iocoder.cn/categories/RocketMQ/?github
Stars: ✭ 343 (+1082.76%)
Mutual labels:  rocketmq
wmqx
基于 Rabbitmq 的 Http 异步消息调用服务
Stars: ✭ 40 (+37.93%)
Mutual labels:  rocketmq
sqs-quooler
A complete queue consumer for SQS
Stars: ✭ 23 (-20.69%)
Mutual labels:  consumer
JavaFamily
【Java面试+Java学习指南】 一份涵盖大部分Java程序员所需要掌握的核心知识。
Stars: ✭ 517 (+1682.76%)
Mutual labels:  rocketmq
robert
基于SpringCloud的企业级微服务多租户系统、多语言的脚手架, 代码组件化、高内聚低耦合,代码简介,注释丰富容易上手,该项目包括用于开发分布式应用程序服务的必要组件,支持多应用程序访问,并使开发人员可以轻松地使用Spring Cloud编程模型来开发分布式应用程序服务。
Stars: ✭ 45 (+55.17%)
Mutual labels:  rocketmq
JavaYouth
主要是Java技术栈的文章,涉及到了源码、原理,面试等知识。如AQS,JVM,rpc,计网,os等等,后续可能会写mysql,redis,zk这些
Stars: ✭ 616 (+2024.14%)
Mutual labels:  rocketmq
go-developer-roadmap
【Go 学习地图】涵盖业内 Go 面试题和所需要掌握的 Go 核心知识大全
Stars: ✭ 513 (+1668.97%)
Mutual labels:  rocketmq

Introduction

A RocketMQ client for golang supportting producer and consumer.

Import package

import "github.com/sevenNt/rocketmq"

Getting started

Getting message with consumer

group := "dev-VodHotClacSrcData"
topic := "canal_vod_collect__video_collected_count_live"
var timeSleep = 30 * time.Second
conf := &rocketmq.Config{
    Nameserver:   "192.168.7.101:9876;192.168.7.102:9876;192.168.7.103:9876",
    ClientIp:     "192.168.1.23",
    InstanceName: "DEFAULT",
}

consumer, err := rocketmq.NewDefaultConsumer(consumerGroup, consumerConf)
if err != nil {
    return err
}
consumer.Subscribe(consumerTopic, "*")
consumer.RegisterMessageListener(
    func(msgs []*MessageExt) error {
        for i, msg := range msgs {
            fmt.Println("msg", i, msg.Topic, msg.Flag, msg.Properties, string(msg.Body))
        }
        fmt.Println("Consume success!")
        return nil
    })
consumer.Start()

time.Sleep(timeSleep)

Sending message with producer

  • Synchronous sending
group := "dev-VodHotClacSrcData"
topic := "canal_vod_collect__video_collected_count_live"
conf := &rocketmq.Config{
    Nameserver:   "192.168.7.101:9876;192.168.7.102:9876;192.168.7.103:9876",
    ClientIp:     "192.168.1.23",
    InstanceName: "DEFAULT",
}

producer, err := rocketmq.NewDefaultProducer(group, conf)
producer.Start()
if err != nil {
    return errors.New("NewDefaultProducer err")
}
msg := NewMessage(topic, []byte("Hello RocketMQ!")
if sendResult, err := producer.Send(msg); err != nil {
    return errors.New("Sync sending fail!")
} else {
    fmt.Println("Sync sending success!, ", sendResult)
}
  • Asynchronous sending
group := "dev-VodHotClacSrcData"
topic := "canal_vod_collect__video_collected_count_live"
conf := &rocketmq.Config{
    Nameserver:   "192.168.7.101:9876;192.168.7.102:9876;192.168.7.103:9876",
    ClientIp:     "192.168.1.23",
    InstanceName: "DEFAULT",
}
producer, err := rocketmq.NewDefaultProducer(group, conf)
producer.Start()
if err != nil {
    return err
}
msg := NewMessage(topic, []byte("Hello RocketMQ!")
sendCallback := func() error {
    fmt.Println("I am callback")
    return nil
}
if err := producer.SendAsync(msg, sendCallback); err != nil {
    return err
} else {
    fmt.Println("Async sending success!")
}
  • Oneway sending
group := "dev-VodHotClacSrcData"
topic := "canal_vod_collect__video_collected_count_live"
conf := &rocketmq.Config{
    Nameserver:   "192.168.7.101:9876;192.168.7.102:9876;192.168.7.103:9876",
    ClientIp:     "192.168.1.23",
    InstanceName: "DEFAULT",
}
producer, err := rocketmq.NewDefaultProducer(group, conf)
producer.Start()
if err != nil {
    return err
}
msg := NewMessage(topic, []byte("Hello RocketMQ!")
if err := producer.SendOneway(msg); err != nil {
    return err
} else {
    fmt.Println("Oneway sending success!")
}
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].