All Projects → tal-tech → pan

tal-tech / pan

Licence: Apache-2.0 license
Pan is a high performance mq proxy,support kafka,rabbit-mq,rocketmq,nsq and other mq

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to pan

triton
Triton is a high-performance mq consumer, support kafka,rabbit-mq,rocketmq,nsq and other mq
Stars: ✭ 19 (-29.63%)
Mutual labels:  rabbitmq, nsq, sarama, rocketmq
Springboot Templates
springboot和dubbo、netty的集成,redis mongodb的nosql模板, kafka rocketmq rabbit的MQ模板, solr solrcloud elasticsearch查询引擎
Stars: ✭ 100 (+270.37%)
Mutual labels:  rabbitmq, rocketmq
distmq
Distributed Message Queue based on Raft
Stars: ✭ 32 (+18.52%)
Mutual labels:  rabbitmq, rocketmq
Myth
Reliable messages resolve distributed transactions
Stars: ✭ 1,470 (+5344.44%)
Mutual labels:  rabbitmq, rocketmq
Java-CS-Record
记录准备春招实习过程中,学习与复习的知识(模块化整理,非面试题速成)。注:暂停更新,后续请移步博客
Stars: ✭ 73 (+170.37%)
Mutual labels:  rabbitmq, rocketmq
Springboot Learning
基于Gradle构建,使用SpringBoot在各个场景的应用,包括集成消息中间件、前后端分离、数据库、缓存、分布式锁、分布式事务等
Stars: ✭ 340 (+1159.26%)
Mutual labels:  rabbitmq, rocketmq
Springboot Labs
一个涵盖六个专栏:Spring Boot 2.X、Spring Cloud、Spring Cloud Alibaba、Dubbo、分布式消息队列、分布式事务的仓库。希望胖友小手一抖,右上角来个 Star,感恩 1024
Stars: ✭ 12,804 (+47322.22%)
Mutual labels:  rabbitmq, rocketmq
Flink Learning
flink learning blog. http://www.54tianzhisheng.cn/ 含 Flink 入门、概念、原理、实战、性能调优、源码解析等内容。涉及 Flink Connector、Metrics、Library、DataStream API、Table API & SQL 等内容的学习案例,还有 Flink 落地应用的大型项目案例(PVUV、日志存储、百亿数据实时去重、监控告警)分享。欢迎大家支持我的专栏《大数据实时计算引擎 Flink 实战与性能优化》
Stars: ✭ 11,378 (+42040.74%)
Mutual labels:  rabbitmq, rocketmq
Openmessaging Benchmark
OpenMessaging Benchmark Framework
Stars: ✭ 184 (+581.48%)
Mutual labels:  rabbitmq, rocketmq
Qmq
QMQ是去哪儿网内部广泛使用的消息中间件,自2012年诞生以来在去哪儿网所有业务场景中广泛的应用,包括跟交易息息相关的订单场景; 也包括报价搜索等高吞吐量场景。
Stars: ✭ 2,420 (+8862.96%)
Mutual labels:  rabbitmq, mq
funboost
pip install funboost,python全功能分布式函数调度框架,。支持python所有类型的并发模式和全球一切知名消息队列中间件,python函数加速器,框架包罗万象,一统编程思维,兼容50% python编程业务场景,适用范围广。只需要一行代码即可分布式执行python一切函数。旧名字是function_scheduling_distributed_framework
Stars: ✭ 351 (+1200%)
Mutual labels:  nsq, rocketmq
Newlife.rocketmq
纯托管轻量级RocketMQ客户端,支持发布消息、消费消息、负载均衡等核心功能!
Stars: ✭ 140 (+418.52%)
Mutual labels:  mq, rocketmq
docker-case
这个项目主要是为了快速拉起docker服务
Stars: ✭ 31 (+14.81%)
Mutual labels:  rabbitmq, rocketmq
Cookbook
🎉🎉🎉JAVA高级架构师技术栈==任何技能通过 “刻意练习” 都可以达到融会贯通的境界,就像烹饪一样,这里有一份JAVA开发技术手册,只需要增加自己练习的次数。🏃🏃🏃
Stars: ✭ 428 (+1485.19%)
Mutual labels:  rabbitmq, rocketmq
Distributed framework
python通用分布式函数调度框架 pip install function_scheduling_distributed_framework
Stars: ✭ 123 (+355.56%)
Mutual labels:  rabbitmq, rocketmq
wmqx
基于 Rabbitmq 的 Http 异步消息调用服务
Stars: ✭ 40 (+48.15%)
Mutual labels:  mq, rocketmq
robert
基于SpringCloud的企业级微服务多租户系统、多语言的脚手架, 代码组件化、高内聚低耦合,代码简介,注释丰富容易上手,该项目包括用于开发分布式应用程序服务的必要组件,支持多应用程序访问,并使开发人员可以轻松地使用Spring Cloud编程模型来开发分布式应用程序服务。
Stars: ✭ 45 (+66.67%)
Mutual labels:  rabbitmq, rocketmq
cloud disk
本云网盘为您提供优质的文件网络存储和分享服务。具有空间大、速度快、安全稳固,同时永不限速等优点。🎉 🎉 🎉 Please star ^_^(前端请提issues)
Stars: ✭ 56 (+107.41%)
Mutual labels:  pan
nestjs-rmq
A custom library for NestJS microservice. It allows you to use RabbitMQ or AMQP.
Stars: ✭ 182 (+574.07%)
Mutual labels:  rabbitmq
go-im
基于Golang编写的高性能im服务器 🚀
Stars: ✭ 220 (+714.81%)
Mutual labels:  rabbitmq

image-20200803155136931


Background


Pan is a high performance and stable production side agent of messager-oriented middleware written in pure Go language. It supports mainstream message queues in the market, such as Kafka, RabbitMQ, RocketMQ, NSQ, etc. Moreover, it is easy to be extended and can meet different business requirements in the production environment.

Document


Document

中文文档

Framework


The framework of Pan is shown as below.

image-20200803155136931

Quickstart

Produce messages to kafka by Pan.


1. Start zookeeper

./bin/zookeeper-server-start /usr/local/etc/kafka/zookeeper.properties

2. Start kafka

./bin/kafka-server-start /usr/local/etc/kafka/server.properties

3. Create topic

./bin/kafka-topics  --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test

4. Modify config for kafka in Pan

[KafkaProxy]
enable=true
KafkaWaitAll=true
KafkaCompression=true
KafkaPartitioner=round
KafkaProducerTimeout=10
brokers=localhost:9092
sasl=false
user=
password=
valid= //topic whitelist,if empty, all topic can be sended
failMode=retry/save/discard

5. Run

tar -zxvf pan.tar.gz
cd pan/
make
./bin/pan -c ../conf/conf.ini

6. Send Message

package main
 
import (
    "fmt"
    "time"
 
    "github.com/tal-tech/xtools/kafkautil"

    "github.com/spf13/cast"
)
 
func main() {
    t := time.Tick(5 * time.Second)
    count := 0
    for {
        select {
        case <-t:
            count++
            err := kafkautil.Send2Proxy("test", []byte("kafka "+cast.ToString(count)))
            if err != nil {
                fmt.Println(err)
            }
            continue
        }
    }
}

modify conf

[KafkaProxy]
unix=/home/www/pan/pan.sock   //sock in pan
host=localhost:9999  //ip and post pan listen

warn

replace in go.mod

replace github.com/henrylee2cn/teleport v5.0.0+incompatible => github.com/hhtlxhhxy/github.com_henrylee2cn_teleport v1.0.0

或

replace github.com/henrylee2cn/teleport v0.0.0 => github.com/hhtlxhhxy/github.com_henrylee2cn_teleport v1.0.0

Contact us

Contact Us

(微信扫一扫,申请加入开发讨论微信群)

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].