This is an automated email from the ASF dual-hosted git repository.
dongeforever pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/rocketmq-client-cpp.git
The following commit(s) were added to refs/heads/master by this push:
new 860849e Polish readme
860849e is described below
commit 860849e79e80e7fa8131e4871710783152247734
Author: dongeforever <[email protected]>
AuthorDate: Thu Dec 6 15:35:57 2018 +0800
Polish readme
---
README.md | 122 ++++++++++++++++++++++++++++++++------------------------------
1 file changed, 64 insertions(+), 58 deletions(-)
diff --git a/README.md b/README.md
index 8dace5b..55554cc 100644
--- a/README.md
+++ b/README.md
@@ -1,34 +1,21 @@
-# RocketMQ-Client-CPP #
+# RocketMQ-Client-CPP
-RocketMQ-Client-CPP is the C/C++ client of Apache RocketMQ which is a
distributed messaging and streaming platform with low latency, high performance
and reliability, trillion-level capacity and flexible scalability.
+RocketMQ-Client-CPP is the C/C++ client of Apache RocketMQ, a distributed
messaging and streaming platform with low latency, high performance and
reliability, trillion-level capacity and flexible scalability.
-## Features ##
+## Features
-- produce message, include sync and async produce message, timed and delay
message.
+- produce messages, including normal and delayed messages, synchronously or
asynchronously.
+- consume messages, in cluster or broadcast model, concurrently or orderly
+- c and c++ style API.
+- cross-platform, all features are supported on Windows, Linux and Mac OS.
+- automatically rebalanced, both in producing and consuming process.
+- reliability, any downtime broker or name server has no impact on the client.
-- consume message, include concurrency and orderly consume message, broadcast
and cluster consume model.
+## Build and Install
-- rebalance, include both produce message and consume message with rebalance.
+### Linux and Mac OS
-- C and C++ API, include both C style and C++ style apis.
-
-- across platform, all features are supported on Windows, Linux and Mac OS.
-
-- reliability, based on nameserver snapshot and network disaster recovery
strategy, no real-time impact on publish and subscribe when anyone of broker or
nameserver was broken.
-
-## Dependency ##
-
-- [libevent
2.0.22](https://github.com/libevent/libevent/archive/release-2.0.22-stable.zip
"libevent 2.0.22")
-
-- [jsoncpp
0.10.6](https://github.com/open-source-parsers/jsoncpp/archive/0.10.6.zip
"jsoncpp 0.10.6")
-
-- [boost
1.58.0](http://sourceforge.net/projects/boost/files/boost/1.58.0/boost_1_58_0.tar.gz
"boost 1.58.0")
-
-## Build and Install ##
-
-### Linux and Mac OS ###
-
-**note**: *make sure the following compile tools or libraries with them
minimum version number have been installed before run the build script build.sh*
+**note**: make sure the following compile tools or libraries have been
installed before running the build script **build.sh**.
- compile tools:
- gcc-c++ 4.8.2: c++ compiler while need support C++11
@@ -40,79 +27,96 @@ RocketMQ-Client-CPP is the C/C++ client of Apache RocketMQ
which is a distribute
- libraries:
- bzip2-devel 1.0.6: boost depend it
-build.sh script will automatic download and build the dependency libraries
include libevent json and boost, the libraries will be saved under
rocketmq-client-cpp folder, and then it will build both rocketmq-client static
and shared libraries.
+The **build.sh** script will automatically download and build the dependency
libraries including libevent, json and boost. It will save libraries under
rocketmq-client-cpp folder, and then build both static and shared libraries for
rocketmq-client. If the dependent libraries are built failed, you could try to
build it manually with sources [libevent
2.0.22](https://github.com/libevent/libevent/archive/release-2.0.22-stable.zip
"lib event 2.0.22"), [jsoncpp 0.10.6](https://github.com/open [...]
-if you can't get to internet to download three library source files by
build.sh script, you can copy three library source files
(release-2.0.22-stable.zip 0.10.6.zip and boost_1_58_0.tar.gz) to
rocketmq-client-cpp root dir, then build.sh will auto use these three library
source files to build rocketmq-client-cpp.
+If your host is not available to internet to download the three library source
files, you can copy the three library source files (release-2.0.22-stable.zip
0.10.6.zip and boost_1_58_0.tar.gz) to rocketmq-client-cpp root dir, then the
build.sh will automatically use the three library source files to build
rocketmq-client-cpp:
sh build.sh
-Finally, both librocketmq.a and librocketmq.so are saved in
rocketmq-client-cpp/bin. when use them to build application or library, besides
rocketmq you also should link with following libraries -lpthread -lz -ldl -lrt.
+Finally, both librocketmq.a and librocketmq.so are saved in
rocketmq-client-cpp/bin. when using them to build application or library,
besides rocketmq you should also link with following libraries -lpthread -lz
-ldl -lrt. Here is an example:
g++ -o consumer_example consumer_example.cpp -lrocketmq -lpthread -lz -ldl
-lrt
-### Windows ###
-**note**: *make sure the following compile tools or libraries with them
minimum version number have been installed before run the build script
win32_build.bat*
+### Windows
+**note**: make sure the following compile tools or libraries have been
installed before running the build script **win32_build.bat**:
+
- compile tools:
- vs2015: libevent,jsoncpp,zlib,boost rocket-client require it
- git: download source code
-one key build script will automatic download dependency libraries include
libevent json and boost, execute follow command,then it will build shared
library.
+The build script will automatically download dependent libraries including
libevent json and boost to build shared library:
win32_build.bat
-if can't get internet to download four library source files by build script,
you can copy four library source files
+If your host is not available to internet to download the four library source
files by build script, you can copy the four library source files
-[zlib-1.2.3-src](https://codeload.github.com/jsj020122/zlib-1.2.3-src/zip/master
"zlib-1.2.3-src") Extract to $(rocketmq-client root
dir)/thirdparty/zlib-1.2.3-src
+[zlib-1.2.3-src](https://codeload.github.com/jsj020122/zlib-1.2.3-src/zip/master
"zlib-1.2.3-src") Extract to $(rocketmq-client-cpp root
dir)/thirdparty/zlib-1.2.3-src
-[libevent-release-2.0.22](https://codeload.github.com/jsj020122/libevent-release-2.0.22/zip/master
"libevent-release-2.0.22") Extract to $(rocketmq-client root
dir)/thirdparty/libevent-release-2.0.22
+[libevent-release-2.0.22](https://codeload.github.com/jsj020122/libevent-release-2.0.22/zip/master
"libevent-release-2.0.22") Extract to $(rocketmq-client-cpp root
dir)/thirdparty/libevent-release-2.0.22
-[boost_1_58_0](https://codeload.github.com/jsj020122/boost_1_58_0/zip/master
"boost_1_58_0") Extract to $(rocketmq-client root dir)/thirdparty/boost_1_58_0
+[boost_1_58_0](https://codeload.github.com/jsj020122/boost_1_58_0/zip/master
"boost_1_58_0") Extract to $(rocketmq-client-cpp root
dir)/thirdparty/boost_1_58_0
-[jsoncpp-0.10.6](https://codeload.github.com/jsj020122/jsoncpp-0.10.6/zip/master
"jsoncpp-0.10.6") Extract to $(rocketmq-client root
dir)/thirdparty/jsoncpp-0.10.6
+[jsoncpp-0.10.6](https://codeload.github.com/jsj020122/jsoncpp-0.10.6/zip/master
"jsoncpp-0.10.6") Extract to $(rocketmq-client-cpp root
dir)/thirdparty/jsoncpp-0.10.6
-then execute follow command will auto use these library files to build
rocketmq-client.
+And then run following command to build rocketmq-client:
win32_build.bat build
-## Quick Start ##
-### tools and commands ###
+## Quick Start
+### Tools and Commands
+
+- sync produce message
-- sync produce message
```shell
./SyncProducer -g group1 -t topic1 -c test message -n 172.168.1.1:9876
-```
-- async produce message
+```
+
+- async produce message
+
```shell
./AsyncProducer -g group1 -t topic -c test message -n 172.168.1.1:9876
-```
-- send delay message
+```
+
+- send delay message
+
```shell
./SendDelayMsg -g group1 -t topic -c test message -n 172.168.1.1:9876
-```
-- sync push consume message
+```
+
+- sync push consume message
+
```shell
./PushConsumer -g group1 -t topic -c test message -s sync -n 172.168.1.1:9876
-```
-- async push comsume message
+```
+
+- async push comsume message
+
```shell
./AsyncPushConsumer -g group1 -t topic -c test message -n 172.168.1.1:9876
-```
-- orderly sync push consume message
+```
+
+- orderly sync push consume message
+
```shell
./OrderlyPushConsumer -g group1 -t topic -c test message -s sync -n
172.168.1.1:9876
-```
-- orderly async push consume message
+```
+
+- orderly async push consume message
+
```shell
./OrderlyPushConsumer -g group1 -t topic -c test message -n 172.168.1.1:9876
-```
-- sync pull consume message
+```
+
+- sync pull consume message
+
```shell
./PullConsumer -g group1 -t topic -c test message -n 172.168.1.1:9876
-```
-### Parameters for tools ###
-```bash
+```
+
+### Parameters for Tools
+```bash
-n : nameserver addr, format is ip1:port;ip2:port
-i : nameserver domain name, parameter -n and -i must have one.
-g : groupName, contains producer groupName and consumer groupName
@@ -121,9 +125,11 @@ then execute follow command will auto use these library
files to build rocketmq-
-c : message content(default value: only test)
-b : consume model(default value: CLUSTER)
-a : set sync push(default value: async)
--r : setup retry times(default value:5 times)
+-r : set retry times(default value:5 times)
-u : select active broker to send message(default value: false)
-d : use AutoDeleteSendcallback by cpp client(defalut value: false)
-T : thread count of send msg or consume message(defalut value: system cpu
core number)
-v : print more details information
```
+
+