apache / rocketmq-client-go Goto Github PK
View Code? Open in Web Editor NEWApache RocketMQ go client
Home Page: https://rocketmq.apache.org/
License: Apache License 2.0
Apache RocketMQ go client
Home Page: https://rocketmq.apache.org/
License: Apache License 2.0
statistic metrics
TODO
vendor/github.com/apache/rocketmq-client-go/core/push_consumer.go:147:14: could not determine kind of name for C.SetProducerLogFileNumAndSize
vendor/github.com/apache/rocketmq-client-go/core/push_consumer.go:152:14: could not determine kind of name for C.SetProducerLogLevel
vendor/github.com/apache/rocketmq-client-go/core/push_consumer.go:141:14: could not determine kind of name for C.SetProducerLogPath
编译时产生的错误。
maybe need some wiki
如果没有C++经验,感觉第一步就跪在了编译上
FEATURE REQUEST
Add Interceptor for producer and consumer.
Provide any additional detail on your proposed use case for this feature.
Sometimes, we want print log、add metrics or timeout check when we send message or consumer messages. But it is ugly to add function around the inner method, and it is not
necessary demand, so it is a good to add interceptor to decoupling the user custom logic from the inner impl.
Indicate the importance of this issue to you (blocker, must-have, should-have, nice-to-have).
should-have
If there are some sub-tasks using -[] for each subtask and create a corresponding issue to map to the sub task:
fix ut and run ut in CI
FEATURE REQUEST
Please describe the feature you are requesting.
Add sendBack for PushConsumer
Provide any additional detail on your proposed use case for this feature.
concurrently consumer support
orderly consumer support
Indicate the importance of this issue to you (blocker, must-have, should-have, nice-to-have). Are you currently using any workarounds to address this issue?
must-have
If there are some sub-tasks using -[] for each subtask and create a corresponding issue to map to the sub task:
FEATURE REQUEST
Please describe the feature you are requesting.
Using private config members to protect them with functional options
Provide any additional detail on your proposed use case for this feature.
FEATURE REQUEST
Please describe the feature you are requesting.
I found that the code in native is so terrible to maintain, maybe author of client is not deeply familar with golang, so in order to improve code quality and pr quality, I think it is time to introduce golangci tool. more info about golangci: https://github.com/golangci/golangci-lint
Provide any additional detail on your proposed use case for this feature.
Indicate the importance of this issue to you (blocker, must-have, should-have, nice-to-have).
nice-to-have
If there are some sub-tasks using -[] for each subtask and create a corresponding issue to map to the sub task:
The alpha2 has been started, welcome anyone request for an unassigned
item or have any contributions for us!
6.27-7.14
unassigned
postponed to alpha3start()
of producer and consumer @gaufung #107unassigned
postponed to alpha3FEATURE REQUEST
Please describe the feature you are requesting.
refactor APIs of Producer/PushConsumer/PullConsumer
Provide any additional detail on your proposed use case for this feature.
RocketMQ Go Client in pure go is coming soon, here are some checkpoint before release
os : mac os、linux
cpp: rocketmq-client-cpp-1.2.2
golang:rocketmq-client-go-1.2.0
当应用启动之后,消费者开始消费,应用运用了几个小时之后,某些broker中的queue 消费者位点不在更新,消费时间也不在更新,diffTotal一直在增长。有没有人遇到过这种问题?
FEATURE REQUEST
Please describe the feature you are requesting.
add MesssageSelector in producer
Provide any additional detail on your proposed use case for this feature.
add MessageSelector in ProducerOptions
Indicate the importance of this issue to you (blocker, must-have, should-have, nice-to-have). Are you currently using any workarounds to address this issue?
must-have
If there are some sub-tasks using -[] for each subtask and create a corresponding issue to map to the sub task:
support consume message orderly
TODO
[root@localhost examples]# go test main.go
./main.go:55:4: undefined: sendMessageOrderly
./main.go:57:4: undefined: sendMessage
./main.go:71:3: undefined: ConsumeWithPush
[root@localhost examples]#
Now NewPushConsumer/NewPullConsumer/NewProducer in internal, but other golang projects cannot call it. please move it!
FEATURE REQUEST
Please describe the feature you are requesting.
Add PullConsumer
Provide any additional detail on your proposed use case for this feature.
Add PullConsumer
Indicate the importance of this issue to you (blocker, must-have, should-have, nice-to-have). Are you currently using any workarounds to address this issue?
must-have
If there are some sub-tasks using -[] for each subtask and create a corresponding issue to map to the sub task:
FEATURE REQUEST
Please describe the feature you are requesting.
Add ACL Feature
Provide any additional detail on your proposed use case for this feature.
Add credential for ACL
Indicate the importance of this issue to you (blocker, must-have, should-have, nice-to-have). Are you currently using any workarounds to address this issue?
must have
TODO
windows环境下一直报mingw32/bin/ld.exe: cannot find -lrocketmq
Current Status: preparing to releasing 2.0.0-alpha2
Link: RocketMQ Go Client 2.0.0-alpha2 Roadmap
Support delay message in alpha2
TODO
The issue tracker is ONLY used for the python client (feature request of RocketMQ need to follow RIP process). Keep in mind, please check whether there is an existing same report before your raise a new one.
Alternately (especially if your communication is not a bug report), you can send mail to our mailing lists. We welcome any friendly suggestions, bug fixes, collaboration, and other improvements.
Please ensure that your bug report is clear and that it is complete. Otherwise, we may be unable to understand it or to reproduce it, either of which would prevent us from fixing the bug. We strongly recommend the report(bug report or feature request) could include some hints as to the following:
BUG REPORT
Please describe the issue you observed:
What did you do (The steps to reproduce)?
What did you expect to see?
What did you see instead?
Please tell us about your environment:
What is your OS?
What is your client version?
What is your RocketMQ version?
Other information (e.g. detailed explanation, logs, related issues, suggestions on how to fix, etc):
FEATURE REQUEST
Please describe the feature you are requesting.
Provide any additional detail on your proposed use case for this feature.
Indicate the importance of this issue to you (blocker, must-have, should-have, nice-to-have). Are you currently using any workarounds to address this issue?
If there are some sub-tasks using -[] for each subtask and create a corresponding issue to map to the sub task:
用producer发了一条消息。
push_consumer收到三个消息?
打印日志时,一个消息显示三次。
是多发了,还是多打印了?
2.0.0-alpha2 PushConsumer Shutdown function is just return nil,when can this approach be implemented?
func (pc *pushConsumer) Shutdown() error {
return nil
}
FEATURE REQUEST
Please describe the feature you are requesting.
In my golang experience, we use goimort to fmt import order, reference by https://godoc.org/golang.org/x/tools/cmd/goimports. Besides, there are lots of pugins for various editor.
Provide any additional detail on your proposed use case for this feature.
consistent view of import order.
Indicate the importance of this issue to you (blocker, must-have, should-have, nice-to-have). Are you currently using any workarounds to address this issue?
nice-to-have
If there are some sub-tasks using -[] for each subtask and create a corresponding issue to map to the sub task:
go build .
/tmp/go-build465039094/b200/_x006.o:在函数‘_cgo_8957cb566e0b_Cfunc_SetProducerNameServerDomain’中:
/tmp/go-build/cgo-gcc-prolog:320:对‘SetProducerNameServerDomain’未定义的引用
/tmp/go-build465039094/b200/_x007.o:在函数‘_cgo_8957cb566e0b_Cfunc_SetPullConsumerNameServerDomain’中:
/tmp/go-build/cgo-gcc-prolog:256:对‘SetPullConsumerNameServerDomain’未定义的引用
/tmp/go-build465039094/b200/_x008.o:在函数‘_cgo_8957cb566e0b_Cfunc_SetPushConsumerNameServerDomain’中:
/tmp/go-build/cgo-gcc-prolog:255:对‘SetPushConsumerNameServerDomain’未定义的引用
collect2: 错误:ld 返回 1
FEATURE REQUEST
Please describe the feature you are requesting.
Support multiple NameServer
Provide any additional detail on your proposed use case for this feature.
In production, we actually use a list of NameServer addr, so it is necessary to add addr list to client configuration.
Indicate the importance of this issue to you (blocker, must-have, should-have, nice-to-have). Are you currently using any workarounds to address this issue?
must have
The current integration into the project is too costly, build hard, deploy hard.
Is it a plan to support native golang?
FEATURE REQUEST
FEATURE REQUEST
Please describe the feature you are requesting.
Add orderly consumer
Provide any additional detail on your proposed use case for this feature.
Add orderly consumer
Indicate the importance of this issue to you (blocker, must-have, should-have, nice-to-have). Are you currently using any workarounds to address this issue?
must-have
If there are some sub-tasks using -[] for each subtask and create a corresponding issue to map to the sub task:
on mac, already installed cpp client
go build
can work.
But, i want to build a ubuntu version on my mac:
env CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build
throws a error: core/api.go:32:20: undefined: LogConfig
How to fix this?
Thanks
go get github.com/apache/rocketmq-client-go/core
../../../Documents/git/go/src/github.com/apache/rocketmq-client-go/core/cfuns.go:21:10: fatal error: 'rocketmq/CMessageExt.h' file not found
#include "rocketmq/CMessageExt.h"
^~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
##################
How to install?
rocketmq-client-cpp已经安装,
在windows上测试时报:core\api.go:32:20: undefined: LogConfig
The 2.0.0-rc1 has been started, welcome anyone request for an unassigned item or have any contributions for us!
Duration
7.19-8.7(delayed)
Target
message.Properties
#197AllocateStrategy
algorithm @luther-siyuan #141consumer/pull_consumer.go @wenfengwang(move to v2.1.0)
consumer/strategy.go @luther-siyuan #141
internal/client.go @luther-siyuan
internal/route.go, internal/namesrv.go, @cloes
internal/request.go internal/request.go @cloes
internal/utils @wenfengwang
FEATURE REQUEST
Please describe the feature you are requesting.
move all public data-struct to an independent package
Provide any additional detail on your proposed use case for this feature.
none
Indicate the importance of this issue to you (blocker, must-have, should-have, nice-to-have). Are you currently using any workarounds to address this issue?
must-have
FEATURE REQUEST
Please describe the feature you are requesting.
add producer unit test
Provide any additional detail on your proposed use case for this feature.
Indicate the importance of this issue to you (blocker, must-have, should-have, nice-to-have). Are you currently using any workarounds to address this issue?
must-have
If there are some sub-tasks using -[] for each subtask and create a corresponding issue to map to the sub task:
send message back to broker for retry
TODO
How Does This SDK Support The Methods Of 'Producer And Consumer' Such As : 'BeginTransaction' 'CommitTransaction' 'Rollback'
When the MQ-cluster does not have any topics, call the SendMessageSync method will cause the GO-program to directly interrupt the exit.
stderr like this:
terminate called after throwing an instance of 'rocketmq::MQException'
what():msg:No route info of this topic,,error:in file </home/jonnxu/git/rocketmq-client-cpp/src/producer/DefaultMQProducer.cpp> line:319
terminate called recursively
SIGABRT:abort
PC=xxxxx
Can you catch that Exception to error, don't let the go-program exit directly?
FEATURE REQUEST
Please describe the feature you are requesting.
make API more usability and follow the standard of Go
Provide any additional detail on your proposed use case for this feature.
Indicate the importance of this issue to you (blocker, must-have, should-have, nice-to-have). Are you currently using any workarounds to address this issue?
must-have
If there are some sub-tasks using -[] for each subtask and create a corresponding issue to map to the sub task:
FEATURE REQUEST
Please describe the feature you are requesting.
impl producer async method.
Provide any additional detail on your proposed use case for this feature.
fix remote client async timeout bug
add async method on client and producer
Indicate the importance of this issue to you (blocker, must-have, should-have, nice-to-have). Are you currently using any workarounds to address this issue?
must have
If there are some sub-tasks using -[] for each subtask and create a corresponding issue to map to the sub task:
FEATURE REQUEST
Please describe the feature you are requesting.
add message delay time to send
Provide any additional detail on your proposed use case for this feature.
Indicate the importance of this issue to you (blocker, must-have, should-have, nice-to-have). Are you currently using any workarounds to address this issue?
must-have
If there are some sub-tasks using -[] for each subtask and create a corresponding issue to map to the sub task:
when using mockgen to generate mock file ,the generated mock file could cause "import cycle not allowed". I update the mockgen command line to fix this problem. Adding "self_package"in mockgen command line could solve this problem.
Please tell us about your environment:
Other information (e.g. detailed explanation, logs, related issues, suggestions on how to fix, etc):
If there are some sub-tasks using -[] for each subtask and create a corresponding issue to map to the sub task:
FEATURE REQUEST
Please describe the feature you are requesting.
add trace feature
Provide any additional detail on your proposed use case for this feature.
add trace feature
Indicate the importance of this issue to you (blocker, must-have, should-have, nice-to-have). Are you currently using any workarounds to address this issue?
must-have
If there are some sub-tasks using -[] for each subtask and create a corresponding issue to map to the sub task:
BUG REPORT
Here is my code, it's a producer:
_msg := kernel.NewMessage(cli.opts.pTopic, body)
_msg.PutProperty(kernel.PropertyTags, "test_tag")
_msg.PutProperty("user_defined_key", "hi")
result, err := cli.p.SendSync(context.Background(), _msg)
zap.S().Infow("RMQ message", "msg", _msg.String())
zap.S().Infow("Send Result", "result", result)
Tag
and Property
should be shown in RocketMQ Dashboard.
There is not.
Please tell us about your environment:
What is your OS?
OSX 10.14.4
What is your client version?
2.0.0-alpha1
What is your RocketMQ version?
Sorry, I dont know
Other information (e.g. detailed explanation, logs, related issues, suggestions on how to fix, etc):
I notice that ./kernel/request.go
, there's no properties
in SendRequest.Encode()
, So I fixed it as follow:
But It still did not work.
So Maybe the whole rmq message header encode has problem.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.