You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by yu...@apache.org on 2017/04/24 14:07:58 UTC
incubator-rocketmq-site git commit: Use new documentation structure.
Repository: incubator-rocketmq-site
Updated Branches:
refs/heads/master e8401371a -> b3c93e124
Use new documentation structure.
Project: http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/commit/b3c93e12
Tree: http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/tree/b3c93e12
Diff: http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/diff/b3c93e12
Branch: refs/heads/master
Commit: b3c93e1247cf7717d011536b3fd5c4cbb6014382
Parents: e840137
Author: yukon <yu...@apache.org>
Authored: Mon Apr 24 22:06:49 2017 +0800
Committer: yukon <yu...@apache.org>
Committed: Mon Apr 24 22:07:35 2017 +0800
----------------------------------------------------------------------
_data/navigation.yml | 29 ++++++++++----
_docs/01-quick-start-guide.md | 4 +-
_docs/best-practice-namesvr.md | 76 +++++++++++++++++++++++++++++++++++--
3 files changed, 97 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/b3c93e12/_data/navigation.yml
----------------------------------------------------------------------
diff --git a/_data/navigation.yml b/_data/navigation.yml
index 1fd0ac6..4b86674 100644
--- a/_data/navigation.yml
+++ b/_data/navigation.yml
@@ -21,26 +21,41 @@ docs:
children:
- title: "Quick Start"
url: /docs/quick-start/
- - title: "Motivation"
+ - title: "Why RocketMQ"
url: /docs/motivation/
- - title: "Core Concept"
- url: /docs/core-concept/
+ - title: "Simple Example"
+ url: /docs/simple-example/
+ - title: "Order Example"
+ url: /docs/order-example/
+ - title: "Schedule Example"
+ url: /docs/schedule-example/
+ - title: "Schedule Example"
+ url: /docs/schedule-example/
+
+ - title: Deployment & Operations
+ children:
+ - title: "Architecture"
+ url: /docs/architecture/
+ - title: "Deployment"
+ url: /docs/deployment/
- title: "CLI Admin Tool"
url: /docs/cli-admin-tool/
- - title: "Cluster Configuration & Deployment"
- url: /docs/cluster-deployment/
- - title: Developer Guide
+
+ - title: Contributor Guide
children:
- title: "Code Guidelines"
url: /docs/code-guidelines/
#- title: "Branching Model"
# url: /docs/branching-model
- - title: "Best Practice in PR"
+ - title: "Pull Request"
url: /docs/pull-request/
- title: "Release Manual"
url: /docs/release-manual
+
- title: Best Practice
children:
+ - title: "Core Concept"
+ url: /docs/core-concept/
- title: "Broker"
url: /docs/best-practice-broker/
- title: "Producer"
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/b3c93e12/_docs/01-quick-start-guide.md
----------------------------------------------------------------------
diff --git a/_docs/01-quick-start-guide.md b/_docs/01-quick-start-guide.md
index 9dbf5f4..b0f2e24 100644
--- a/_docs/01-quick-start-guide.md
+++ b/_docs/01-quick-start-guide.md
@@ -22,8 +22,8 @@ This quick start guide is to give detailed instructions, helping you setup Rocke
```shell
> git clone https://github.com/apache/incubator-rocketmq.git
> cd incubator-rocketmq
- > mvn clean package install -Prelease-all assembly:assembly -U
- > cd target/apache-rocketmq-all/
+ > mvn -Prelease-all -DskipTests clean install -U
+ > cd distribution/target/apache-rocketmq
```
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/b3c93e12/_docs/best-practice-namesvr.md
----------------------------------------------------------------------
diff --git a/_docs/best-practice-namesvr.md b/_docs/best-practice-namesvr.md
index 2f5ba58..1679850 100644
--- a/_docs/best-practice-namesvr.md
+++ b/_docs/best-practice-namesvr.md
@@ -4,11 +4,81 @@ permalink: /docs/best-practice-namesvr/
modified: 2016-12-24T15:01:43-04:00
---
-Some useful tips for users.
+In Apache RocketMQ, name servers are designed to coordinate each component of the distributed system
+and fulfill much of this responsibility through managing topic route information.
{% include toc %}
-## Ordered Message
-to be finished
+The management, roughly speaking, consists two parts:
+- Brokers periodically renew meta data, including topics they have, which are kept in every name servers.
+- Name servers are serving clients, including producers, consumers and command line clients with the latest routing information.
+
+Therefore, before launching brokers and clients, we need to tell them how to reach name servers by feeding them with a name server address list.
+In Apache RocketMQ, this can be done in four ways.
+
+## Programmatic Way
+
+For broker, we may specify `namesrvAddr=name-server-ip1:port;name-server-ip2:port` in broker configuration file.
+
+For producers and consumers, we may feed name server address list to them as follows:
+
+```java
+DefaultMQProducer producer = new DefaultMQProducer("please_rename_unique_group_name");
+producer.setNamesrvAddr("name-server1-ip:port;name-server2-ip:port");
+
+DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("please_rename_unique_group_name");
+consumer.setNamesrvAddr("name-server1-ip:port;name-server2-ip:port");
+```
+
+If you use admin command line from shell, you may specify this way:
+
+```java
+sh mqadmin command-name -n name-server-ip1:port;name-server-ip2:port -X OTHER-OPTION
+```
+
+a simple example is:
+`sh mqadmin -n localhost:9876 clusterList`
+assuming to query cluster info on the name server node.
+
+If integrating admin tool into your own dashboard, you may
+
+```java
+DefaultMQAdminExt defaultMQAdminExt = new DefaultMQAdminExt("please_rename_unique_group_name");
+defaultMQAdminExt.setNamesrvAddr("name-server1-ip:port;name-server2-ip:port");
+```
+
+
+## Java Options
+
+Name server address list may also be fed to your application through specifying the sequel java option
+`rocketmq.namesrv.addr` before launching.
+
+## Environment Variable
+
+You can export `NAMESRV_ADDR` environment variable. Brokers and clients will examine and use its value if set.
+
+
+## HTTP Endpoint
+
+If you do not specify name server address list using previously mentioned methods, Apache RocketMQ will access
+ the following HTTP end point to acquire and update name server address list every two minutes with initial delay of
+ ten seconds.
+
+On default, the end point is:
+
+`http://jmenv.tbsite.net:8080/rocketmq/nsaddr`
+
+You may override `jmenv.tbsite.net` by this java option: `rocketmq.namesrv.domain`,
+You may also override `nsaddr` part by this java option: `rocketmq.namesrv.domain.subgroup`
+
+If you are running Apache RocketMQ in production, this method is recommended because it gives you maximum flexibility
+ -- you can dynamically add or remove name server nodes without necessity of rebooting your brokers and clients
+ according to your name servers' system load.
+
+
+## Priority
+
+Methods introduced first take precedence over the latter, namely, <br>
+`Programmatic Way > Java Options > Environment Variable > HTTP Endpoint`