Hello RocketMQ Community,
This is the discussion for the graduation of RocketMQ’s CPP
client(https://github.com/apache/rocketmq-client-cpp).
RocketMQ-Client-CPP is the C/C++ client of Apache RocketMQ, which provides two
kinds of interfaces in C++ and C-style, almost have all the features included
in the Java client, and it’s also the core of other language’s client, other
language’s client will be built on top of it, including python, Nodejs, C#,
golang and so on.
After many years of incubation, the CPP client has been used by several
companies and main features have been verified in their production
environment, and up to now, there are 6 active contributors from 5
organizations in the community.
So we think it has reached the graduation standard, but in order to ensure the
quality of the project, we still investigated the usage information of three
companies from different industries, the information shows below:
1 A financial company
1)Environment Configuration:
(1)Red Hat Enterprise Linux Server release 6.5 8*CPU 32G Memory
(2) 2 * Master + 2 * Slave
(3) Three subsystems were deployed, including six producer instances
and six consumer instances.
2) Functions
Asynchronous transmission
PushConsumer with cluster mode
PushConsumer with broadcasting mode
3)scene
Mainly used for system decoupling, message reliability assurance,
resolving write speed mismatch between redis and Oracle scenarios.
4) How long has it been used?
6 months
5)Usage description
(1) The compilation of the original CPP SDK is tedious, and many tools
and dependency libraries need to be installed. The optimized version of public
beta is easy to compile and get started.
(2) example is more detailed, the main use scenarios have examples, can
easily guide the basic use, follow-up use of SDK programming is simple and easy
to use.
(3) the SDK and server sides are relatively stable, basically there is
no problem after the line.
2 An education company
1)Environment Configuration:
CentOS 7.x
2) Functions
Asynchronous transmission
Synchronous transmission
Orderly transmission
oneway transmission
PushConsumer with cluster mode
PushConsumer orderly
3)Business scale
100 million per day
3)scene
Mainly used for system decoupling
4) How long has it been used?
1 year
5)feedback
CPP client is relatively stable, there is basically no problem Online
3 Alibaba
1)Environment Configuration:
(1)Ubuntu Server 16.04 8*CPU 16G Memory
(2) 2 * Master + 2 * Slave
(3) two producer instances and three consumer instances.
2) Functions
(1)C++
Asynchronous transmission
PushConsumer with cluster mode
(2)C
Asynchronous transmission
PushConsumer with cluster mode
3)scene
Mainly used for system decoupling
4) How long has it been used?
1 year
5)feedback
(1)CPP client and Java client can send and receive each other.
(2)Messages can be sent and consumed normally.
If you have any suggestion about the graduation of the CPP client, please feel
free to reply to this email, we sincerely hope to get your advice.