Tencent / TubeMQ

TubeMQ has been donated to the Apache Software Foundation and renamed to InLong, please visit the new Apache repository: https://github.com/apache/incubator-inlong
https://inlong.apache.org/
2.02k stars 388 forks source link

Can you support TubeMQ, provide SDKs in various languages, or maintenance tools? #153

Open gosonzhang opened 4 years ago

gosonzhang commented 4 years ago

As for SDK, at present, the language skills our team mastered are only limited to Java and C++, and the short and medium-term efforts will be devoted to the core processing flow improvement, so it's very hard to rely on the existing team to support the use of other languages in a short time. Are you interested in helping TubeMQ project in the field you are good at, providing SDK of corresponding language, such as Go, Python, PHP, C# language, improving TubeMQ project together, so that more people in need can benefit from it, and thank you for your efforts?

As for using tools, our environment is a DO separation mode. We may not have a good understanding of the tools you use everyday. Would you like to provide some corresponding ideas, or actually provide some tools to enrich TubeMQ's operation and maintenance in this area?


大家能否支持到TubeMQ,提供各种语言版本的SDK,或者维护工具吗?

关于SDK,目前我们团队掌握的语言技能仅限于Java和C++,短、中期的精力会投入到核心处理流程的改进上,因而很难在短时间内依靠现有的团队的力量做到对其他语言的使用支持。您是否有兴趣,在您擅长的语言领域给予TubeMQ项目以帮助呢?分别提供不同语言的SDK,比如Go,Python,PHP,C#等,一起来完善TubeMQ项目,让更多有需要的人受益的同时感谢您的付出?

关于使用工具,我们环境是DO分离模式,大家日常使用的工具,我们开发可能还没有很好的理解,您是否愿意提供一些对应的思路,或者实际提供一些工具,一起丰富TubeMQ在这块的运营维护呢?

ghost commented 4 years ago

Yes, we can. I have some tips for build a community drive development progress.

  1. Release specification document every version. the source code change should respect the specification document.【See the Java Specification Document]
  2. Create a [RFC->Vote->Implment->Merged in] progress, If not pass the RFC progress, it should not change or add it in.
  3. Try not break the API , more compact required.
  4. Release developer guide, design mind map, or useful resources.

是的, 我们能加入进来贡献自己的力量。以下是我的一些意见和建议关于构建社区驱动开发流程:

  1. 每个版本变更,都有规范文件发布,代码变更,必须严格遵循规范文件【参见Java specification文件】
  2. 建议遵循【提案=》投票=》实现=》合并】流程,如果提案没有通过,就不要变更或者新增功能
  3. 不要破坏API,试着兼容它
  4. 发布开发者指南,设计脑图,或者其他有助于社区开发的资源。
gosonzhang commented 4 years ago

Thank you very much for your attention and support, thank you!

The project is still in the process of migrating to the Apache community,it's estimated that the project will be completed recently, and then it will be operated according to the Apache rules; the launch of the issue is to first raise a demand for this aspect in the way of GitHub, and look for partners with this willingness to pay attention to it; I am sorting out the internal C + + implementation, hoping to migrate to the project in the near future


非常感谢你的关注和支持,谢谢!

项目还在往Apache社区迁移的过程,估计最近这块能做完,接下来就将按照这个Apache规则来进行运作;发起issue是按照github的这个方式提一个这方面的需求,寻找有这块意愿的伙伴关注;我正在将内部的C++的实现进行整理,希望近期能迁移到项目里来

gosonzhang commented 4 years ago

@netroby, you can add your content in https://issues.apache.org/jira/browse/TUBEMQ-2#

ghost commented 4 years ago

I will keep watching TubeMQ, I am also good at PHP, Golang, Python, Rust, Scala, Java. Will see how can i continue contribute. But my free time very limited. due to chinese company high workload.

tensorchen commented 4 years ago

@gosonzhang

I would be happy to provide the Go language SDK。Today at the Shenzhen gohper meetup conference, I shared go performance optimization practices。 I am very experienced in the field of go language development and performance optimization。

How to contribute to TubeMQ?

gosonzhang commented 4 years ago

Thanks @tensorchen ,It would be great if we could implement the producer and consumer client based on the protocol https://github.com/Tencent/TubeMQ/tree/master/tubemq-core/src/main/protobuf.

I am also writing a C ++ client, and I will consider putting the various language clients based on the needs to be implemented under the tubemq-client-twins directory of the main directory for management to avoid the problem of unclear trunk.

Do you have any good ideas?

tensorchen commented 4 years ago

I suggest that only one language SDK be placed in a repository. Placing the SDK in the same repository will result in the cost of downloading other language code for developers who only need to use the Go SDK.

Another suggestion is to name the repository in lowercase

For example:

github.com/Tencent/TubeMQ core library repo github.com/Tencent/tubemq-go go client repo github.com/Tencent/tubemq-cpp c++ client repo github.com/Tencent/tubemq-java java client repo