You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by do...@apache.org on 2017/06/06 13:21:10 UTC

[3/4] incubator-rocketmq-site git commit: Build

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/94c21bba/content/docs/order-example/index.html
----------------------------------------------------------------------
diff --git a/content/docs/order-example/index.html b/content/docs/order-example/index.html
index feb6542..9806af6 100644
--- a/content/docs/order-example/index.html
+++ b/content/docs/order-example/index.html
@@ -57,7 +57,7 @@
 
 
   <meta property="og:type" content="article">
-  <meta property="article:published_time" content="2017-06-02T15:31:28+08:00">
+  <meta property="article:published_time" content="2017-06-06T21:20:18+08:00">
 
 
 
@@ -183,7 +183,7 @@
             
             
 
-            <li><a href="/docs/quick-start/" class="">Quick Start</a></li>
+            <li><a href="/docs/motivation/" class="">Why RocketMQ</a></li>
           
             
             
@@ -191,7 +191,7 @@
             
             
 
-            <li><a href="/docs/motivation/" class="">Why RocketMQ</a></li>
+            <li><a href="/docs/quick-start/" class="">Quick Start</a></li>
           
             
             
@@ -429,7 +429,7 @@
   <article class="page" itemscope itemtype="http://schema.org/CreativeWork">
     <meta itemprop="headline" content="Order Message">
     <meta itemprop="description" content="How to send and receive ordered messages in Apache RocketMQ.">
-    <meta itemprop="datePublished" content="June 02, 2017">
+    <meta itemprop="datePublished" content="June 06, 2017">
     <meta itemprop="dateModified" content="April 25, 2017">
 
     <div class="page__inner-wrap">
@@ -453,77 +453,80 @@
   </nav>
 </aside>
 
-<p>To send and subscribe to order messages, use Java MQ SDK 1.2.7 and above. The sequential message is a kind of message type which is provided by MQ according to the order, which is suitable for the news release and consumption according to the principle of fifo.</p>
-
-<p>For more information, please refer to the sequential message file. 
-The global order message and the partition order message send and receive the way to be the same basically, please refer to the following example code specifically.</p>
+<p>RocketMQ provides ordered messages using FIFO order.</p>
 
+<p>The following example demonstrates sending/recieving of globally and partitionally ordered message.</p>
 <h4 id="send-message-sample-code">Send message sample code</h4>
 
-<div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="k">try</span> <span class="o">{</span>
-    <span class="n">MQProducer</span> <span class="n">producer</span> <span class="o">=</span> <span class="k">new</span> <span class="n">DefaultMQProducer</span><span class="o">(</span><span class="s">"please_rename_unique_group_name"</span><span class="o">);</span>
-    <span class="n">producer</span><span class="o">.</span><span class="na">start</span><span class="o">();</span>
-
-    <span class="n">String</span><span class="o">[]</span> <span class="n">tags</span> <span class="o">=</span> <span class="k">new</span> <span class="n">String</span><span class="o">[]</span> <span class="o">{</span><span class="s">"TagA"</span><span class="o">,</span> <span class="s">"TagB"</span><span class="o">,</span> <span class="s">"TagC"</span><span class="o">,</span> <span class="s">"TagD"</span><span class="o">,</span> <span class="s">"TagE"</span><span class="o">};</span>
-    <span class="k">for</span> <span class="o">(</span><span class="kt">int</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="o">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="mi">100</span><span class="o">;</span> <span class="n">i</span><span class="o">++)</span> <span class="o">{</span>
-        <span class="kt">int</span> <span class="n">orderId</span> <span class="o">=</span> <span class="n">i</span> <span class="o">%</span> <span class="mi">10</span><span class="o">;</span>
-        <span class="n">Message</span> <span class="n">msg</span> <span class="o">=</span>
-            <span class="k">new</span> <span class="nf">Message</span><span class="o">(</span><span class="s">"TopicTestjjj"</span><span class="o">,</span> <span class="n">tags</span><span class="o">[</span><span class="n">i</span> <span class="o">%</span> <span class="n">tags</span><span class="o">.</span><span class="na">length</span><span class="o">],</span> <span class="s">"KEY"</span> <span class="o">+</span> <span class="n">i</span><span class="o">,</span>
-                <span class="o">(</span><span class="s">"Hello RocketMQ "</span> <span class="o">+</span> <span class="n">i</span><span class="o">).</span><span class="na">getBytes</span><span class="o">(</span><span class="n">RemotingHelper</span><span class="o">.</span><span class="na">DEFAULT_CHARSET</span><span class="o">));</span>
-        <span class="n">SendResult</span> <span class="n">sendResult</span> <span class="o">=</span> <span class="n">producer</span><span class="o">.</span><span class="na">send</span><span class="o">(</span><span class="n">msg</span><span class="o">,</span> <span class="k">new</span> <span class="n">MessageQueueSelector</span><span class="o">()</span> <span class="o">{</span>
+<div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="nc">OrderedProducer</span> <span class="o">{</span>
+    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
+        <span class="c1">//Instantiate with a producer group name.</span>
+        <span class="n">MQProducer</span> <span class="n">producer</span> <span class="o">=</span> <span class="k">new</span> <span class="n">DefaultMQProducer</span><span class="o">(</span><span class="s">"example_group_name"</span><span class="o">);</span>
+        <span class="c1">//Launch the instance.</span>
+        <span class="n">producer</span><span class="o">.</span><span class="na">start</span><span class="o">();</span>
+        <span class="n">String</span><span class="o">[]</span> <span class="n">tags</span> <span class="o">=</span> <span class="k">new</span> <span class="n">String</span><span class="o">[]</span> <span class="o">{</span><span class="s">"TagA"</span><span class="o">,</span> <span class="s">"TagB"</span><span class="o">,</span> <span class="s">"TagC"</span><span class="o">,</span> <span class="s">"TagD"</span><span class="o">,</span> <span class="s">"TagE"</span><span class="o">};</span>
+        <span class="k">for</span> <span class="o">(</span><span class="kt">int</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="o">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="mi">100</span><span class="o">;</span> <span class="n">i</span><span class="o">++)</span> <span class="o">{</span>
+            <span class="kt">int</span> <span class="n">orderId</span> <span class="o">=</span> <span class="n">i</span> <span class="o">%</span> <span class="mi">10</span><span class="o">;</span>
+            <span class="c1">//Create a message instance, specifying topic, tag and message body.</span>
+            <span class="n">Message</span> <span class="n">msg</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Message</span><span class="o">(</span><span class="s">"TopicTestjjj"</span><span class="o">,</span> <span class="n">tags</span><span class="o">[</span><span class="n">i</span> <span class="o">%</span> <span class="n">tags</span><span class="o">.</span><span class="na">length</span><span class="o">],</span> <span class="s">"KEY"</span> <span class="o">+</span> <span class="n">i</span><span class="o">,</span>
+                    <span class="o">(</span><span class="s">"Hello RocketMQ "</span> <span class="o">+</span> <span class="n">i</span><span class="o">).</span><span class="na">getBytes</span><span class="o">(</span><span class="n">RemotingHelper</span><span class="o">.</span><span class="na">DEFAULT_CHARSET</span><span class="o">));</span>
+            <span class="n">SendResult</span> <span class="n">sendResult</span> <span class="o">=</span> <span class="n">producer</span><span class="o">.</span><span class="na">send</span><span class="o">(</span><span class="n">msg</span><span class="o">,</span> <span class="k">new</span> <span class="n">MessageQueueSelector</span><span class="o">()</span> <span class="o">{</span>
             <span class="nd">@Override</span>
             <span class="kd">public</span> <span class="n">MessageQueue</span> <span class="nf">select</span><span class="o">(</span><span class="n">List</span><span class="o">&lt;</span><span class="n">MessageQueue</span><span class="o">&gt;</span> <span class="n">mqs</span><span class="o">,</span> <span class="n">Message</span> <span class="n">msg</span><span class="o">,</span> <span class="n">Object</span> <span class="n">arg</span><span class="o">)</span> <span class="o">{</span>
                 <span class="n">Integer</span> <span class="n">id</span> <span class="o">=</span> <span class="o">(</span><span class="n">Integer</span><span class="o">)</span> <span class="n">arg</span><span class="o">;</span>
                 <span class="kt">int</span> <span class="n">index</span> <span class="o">=</span> <span class="n">id</span> <span class="o">%</span> <span class="n">mqs</span><span class="o">.</span><span class="na">size</span><span class="o">();</span>
                 <span class="k">return</span> <span class="n">mqs</span><span class="o">.</span><span class="na">get</span><span class="o">(</span><span class="n">index</span><span class="o">);</span>
             <span class="o">}</span>
-        <span class="o">},</span> <span class="n">orderId</span><span class="o">);</span>
+            <span class="o">},</span> <span class="n">orderId</span><span class="o">);</span>
 
-        <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">printf</span><span class="o">(</span><span class="s">"%s%n"</span><span class="o">,</span> <span class="n">sendResult</span><span class="o">);</span>
+            <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">printf</span><span class="o">(</span><span class="s">"%s%n"</span><span class="o">,</span> <span class="n">sendResult</span><span class="o">);</span>
+        <span class="o">}</span>
+        <span class="c1">//server shutdown</span>
+        <span class="n">producer</span><span class="o">.</span><span class="na">shutdown</span><span class="o">();</span>
     <span class="o">}</span>
-
-    <span class="n">producer</span><span class="o">.</span><span class="na">shutdown</span><span class="o">();</span>
-<span class="o">}</span> <span class="k">catch</span> <span class="o">(</span><span class="n">MQClientException</span> <span class="o">|</span> <span class="n">RemotingException</span> <span class="o">|</span> <span class="n">MQBrokerException</span> <span class="o">|</span> <span class="n">InterruptedException</span> <span class="n">e</span><span class="o">)</span> <span class="o">{</span>
-    <span class="n">e</span><span class="o">.</span><span class="na">printStackTrace</span><span class="o">();</span>
 <span class="o">}</span>
 </code></pre>
 </div>
 
 <h4 id="subscription-message-sample-code">Subscription message sample code</h4>
 
-<div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="n">DefaultMQPushConsumer</span> <span class="n">consumer</span> <span class="o">=</span> <span class="k">new</span> <span class="n">DefaultMQPushConsumer</span><span class="o">(</span><span class="s">"please_rename_unique_group_name_3"</span><span class="o">);</span>
-
-<span class="n">consumer</span><span class="o">.</span><span class="na">setConsumeFromWhere</span><span class="o">(</span><span class="n">ConsumeFromWhere</span><span class="o">.</span><span class="na">CONSUME_FROM_FIRST_OFFSET</span><span class="o">);</span>
-
-<span class="n">consumer</span><span class="o">.</span><span class="na">subscribe</span><span class="o">(</span><span class="s">"TopicTest"</span><span class="o">,</span> <span class="s">"TagA || TagC || TagD"</span><span class="o">);</span>
-
-<span class="n">consumer</span><span class="o">.</span><span class="na">registerMessageListener</span><span class="o">(</span><span class="k">new</span> <span class="n">MessageListenerOrderly</span><span class="o">()</span> <span class="o">{</span>
-
-    <span class="n">AtomicLong</span> <span class="n">consumeTimes</span> <span class="o">=</span> <span class="k">new</span> <span class="n">AtomicLong</span><span class="o">(</span><span class="mi">0</span><span class="o">);</span>
-    <span class="nd">@Override</span>
-    <span class="kd">public</span> <span class="n">ConsumeOrderlyStatus</span> <span class="nf">consumeMessage</span><span class="o">(</span><span class="n">List</span><span class="o">&lt;</span><span class="n">MessageExt</span><span class="o">&gt;</span> <span class="n">msgs</span><span class="o">,</span>
-                                               <span class="n">ConsumeOrderlyContext</span> <span class="n">context</span><span class="o">)</span> <span class="o">{</span>
-        <span class="n">context</span><span class="o">.</span><span class="na">setAutoCommit</span><span class="o">(</span><span class="kc">false</span><span class="o">);</span>
-        <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">printf</span><span class="o">(</span><span class="n">Thread</span><span class="o">.</span><span class="na">currentThread</span><span class="o">().</span><span class="na">getName</span><span class="o">()</span> <span class="o">+</span> <span class="s">" Receive New Messages: "</span> <span class="o">+</span> <span class="n">msgs</span> <span class="o">+</span> <span class="s">"%n"</span><span class="o">);</span>
-        <span class="k">this</span><span class="o">.</span><span class="na">consumeTimes</span><span class="o">.</span><span class="na">incrementAndGet</span><span class="o">();</span>
-        <span class="k">if</span> <span class="o">((</span><span class="k">this</span><span class="o">.</span><span class="na">consumeTimes</span><span class="o">.</span><span class="na">get</span><span class="o">()</span> <span class="o">%</span> <span class="mi">2</span><span class="o">)</span> <span class="o">==</span> <span class="mi">0</span><span class="o">)</span> <span class="o">{</span>
-            <span class="k">return</span> <span class="n">ConsumeOrderlyStatus</span><span class="o">.</span><span class="na">SUCCESS</span><span class="o">;</span>
-        <span class="o">}</span> <span class="k">else</span> <span class="k">if</span> <span class="o">((</span><span class="k">this</span><span class="o">.</span><span class="na">consumeTimes</span><span class="o">.</span><span class="na">get</span><span class="o">()</span> <span class="o">%</span> <span class="mi">3</span><span class="o">)</span> <span class="o">==</span> <span class="mi">0</span><span class="o">)</span> <span class="o">{</span>
-            <span class="k">return</span> <span class="n">ConsumeOrderlyStatus</span><span class="o">.</span><span class="na">ROLLBACK</span><span class="o">;</span>
-        <span class="o">}</span> <span class="k">else</span> <span class="k">if</span> <span class="o">((</span><span class="k">this</span><span class="o">.</span><span class="na">consumeTimes</span><span class="o">.</span><span class="na">get</span><span class="o">()</span> <span class="o">%</span> <span class="mi">4</span><span class="o">)</span> <span class="o">==</span> <span class="mi">0</span><span class="o">)</span> <span class="o">{</span>
-            <span class="k">return</span> <span class="n">ConsumeOrderlyStatus</span><span class="o">.</span><span class="na">COMMIT</span><span class="o">;</span>
-        <span class="o">}</span> <span class="k">else</span> <span class="k">if</span> <span class="o">((</span><span class="k">this</span><span class="o">.</span><span class="na">consumeTimes</span><span class="o">.</span><span class="na">get</span><span class="o">()</span> <span class="o">%</span> <span class="mi">5</span><span class="o">)</span> <span class="o">==</span> <span class="mi">0</span><span class="o">)</span> <span class="o">{</span>
-            <span class="n">context</span><span class="o">.</span><span class="na">setSuspendCurrentQueueTimeMillis</span><span class="o">(</span><span class="mi">3000</span><span class="o">);</span>
-            <span class="k">return</span> <span class="n">ConsumeOrderlyStatus</span><span class="o">.</span><span class="na">SUSPEND_CURRENT_QUEUE_A_MOMENT</span><span class="o">;</span>
-        <span class="o">}</span>
-        <span class="k">return</span> <span class="n">ConsumeOrderlyStatus</span><span class="o">.</span><span class="na">SUCCESS</span><span class="o">;</span>
+<div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="nc">OrderedConsumer</span> <span class="o">{</span>
+    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
+        <span class="n">DefaultMQPushConsumer</span> <span class="n">consumer</span> <span class="o">=</span> <span class="k">new</span> <span class="n">DefaultMQPushConsumer</span><span class="o">(</span><span class="s">"example_group_name"</span><span class="o">);</span>
 
-    <span class="o">}</span>
-<span class="o">});</span>
+        <span class="n">consumer</span><span class="o">.</span><span class="na">setConsumeFromWhere</span><span class="o">(</span><span class="n">ConsumeFromWhere</span><span class="o">.</span><span class="na">CONSUME_FROM_FIRST_OFFSET</span><span class="o">);</span>
 
-<span class="n">consumer</span><span class="o">.</span><span class="na">start</span><span class="o">();</span>
+        <span class="n">consumer</span><span class="o">.</span><span class="na">subscribe</span><span class="o">(</span><span class="s">"TopicTest"</span><span class="o">,</span> <span class="s">"TagA || TagC || TagD"</span><span class="o">);</span>
 
-<span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">printf</span><span class="o">(</span><span class="s">"Consumer Started.%n"</span><span class="o">);</span>
+        <span class="n">consumer</span><span class="o">.</span><span class="na">registerMessageListener</span><span class="o">(</span><span class="k">new</span> <span class="n">MessageListenerOrderly</span><span class="o">()</span> <span class="o">{</span>
+
+            <span class="n">AtomicLong</span> <span class="n">consumeTimes</span> <span class="o">=</span> <span class="k">new</span> <span class="n">AtomicLong</span><span class="o">(</span><span class="mi">0</span><span class="o">);</span>
+            <span class="nd">@Override</span>
+            <span class="kd">public</span> <span class="n">ConsumeOrderlyStatus</span> <span class="nf">consumeMessage</span><span class="o">(</span><span class="n">List</span><span class="o">&lt;</span><span class="n">MessageExt</span><span class="o">&gt;</span> <span class="n">msgs</span><span class="o">,</span>
+                                                       <span class="n">ConsumeOrderlyContext</span> <span class="n">context</span><span class="o">)</span> <span class="o">{</span>
+                <span class="n">context</span><span class="o">.</span><span class="na">setAutoCommit</span><span class="o">(</span><span class="kc">false</span><span class="o">);</span>
+                <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">printf</span><span class="o">(</span><span class="n">Thread</span><span class="o">.</span><span class="na">currentThread</span><span class="o">().</span><span class="na">getName</span><span class="o">()</span> <span class="o">+</span> <span class="s">" Receive New Messages: "</span> <span class="o">+</span> <span class="n">msgs</span> <span class="o">+</span> <span class="s">"%n"</span><span class="o">);</span>
+                <span class="k">this</span><span class="o">.</span><span class="na">consumeTimes</span><span class="o">.</span><span class="na">incrementAndGet</span><span class="o">();</span>
+                <span class="k">if</span> <span class="o">((</span><span class="k">this</span><span class="o">.</span><span class="na">consumeTimes</span><span class="o">.</span><span class="na">get</span><span class="o">()</span> <span class="o">%</span> <span class="mi">2</span><span class="o">)</span> <span class="o">==</span> <span class="mi">0</span><span class="o">)</span> <span class="o">{</span>
+                    <span class="k">return</span> <span class="n">ConsumeOrderlyStatus</span><span class="o">.</span><span class="na">SUCCESS</span><span class="o">;</span>
+                <span class="o">}</span> <span class="k">else</span> <span class="k">if</span> <span class="o">((</span><span class="k">this</span><span class="o">.</span><span class="na">consumeTimes</span><span class="o">.</span><span class="na">get</span><span class="o">()</span> <span class="o">%</span> <span class="mi">3</span><span class="o">)</span> <span class="o">==</span> <span class="mi">0</span><span class="o">)</span> <span class="o">{</span>
+                    <span class="k">return</span> <span class="n">ConsumeOrderlyStatus</span><span class="o">.</span><span class="na">ROLLBACK</span><span class="o">;</span>
+                <span class="o">}</span> <span class="k">else</span> <span class="k">if</span> <span class="o">((</span><span class="k">this</span><span class="o">.</span><span class="na">consumeTimes</span><span class="o">.</span><span class="na">get</span><span class="o">()</span> <span class="o">%</span> <span class="mi">4</span><span class="o">)</span> <span class="o">==</span> <span class="mi">0</span><span class="o">)</span> <span class="o">{</span>
+                    <span class="k">return</span> <span class="n">ConsumeOrderlyStatus</span><span class="o">.</span><span class="na">COMMIT</span><span class="o">;</span>
+                <span class="o">}</span> <span class="k">else</span> <span class="k">if</span> <span class="o">((</span><span class="k">this</span><span class="o">.</span><span class="na">consumeTimes</span><span class="o">.</span><span class="na">get</span><span class="o">()</span> <span class="o">%</span> <span class="mi">5</span><span class="o">)</span> <span class="o">==</span> <span class="mi">0</span><span class="o">)</span> <span class="o">{</span>
+                    <span class="n">context</span><span class="o">.</span><span class="na">setSuspendCurrentQueueTimeMillis</span><span class="o">(</span><span class="mi">3000</span><span class="o">);</span>
+                    <span class="k">return</span> <span class="n">ConsumeOrderlyStatus</span><span class="o">.</span><span class="na">SUSPEND_CURRENT_QUEUE_A_MOMENT</span><span class="o">;</span>
+                <span class="o">}</span>
+                <span class="k">return</span> <span class="n">ConsumeOrderlyStatus</span><span class="o">.</span><span class="na">SUCCESS</span><span class="o">;</span>
+
+            <span class="o">}</span>
+        <span class="o">});</span>
+
+        <span class="n">consumer</span><span class="o">.</span><span class="na">start</span><span class="o">();</span>
+
+        <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">printf</span><span class="o">(</span><span class="s">"Consumer Started.%n"</span><span class="o">);</span>
+    <span class="o">}</span>
+<span class="o">}</span>
 </code></pre>
 </div>
 

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/94c21bba/content/docs/pull-request/index.html
----------------------------------------------------------------------
diff --git a/content/docs/pull-request/index.html b/content/docs/pull-request/index.html
index 44e71b1..c533a25 100644
--- a/content/docs/pull-request/index.html
+++ b/content/docs/pull-request/index.html
@@ -57,7 +57,7 @@
 
 
   <meta property="og:type" content="article">
-  <meta property="article:published_time" content="2017-06-02T15:31:28+08:00">
+  <meta property="article:published_time" content="2017-06-06T21:20:18+08:00">
 
 
 
@@ -183,7 +183,7 @@
             
             
 
-            <li><a href="/docs/quick-start/" class="">Quick Start</a></li>
+            <li><a href="/docs/motivation/" class="">Why RocketMQ</a></li>
           
             
             
@@ -191,7 +191,7 @@
             
             
 
-            <li><a href="/docs/motivation/" class="">Why RocketMQ</a></li>
+            <li><a href="/docs/quick-start/" class="">Quick Start</a></li>
           
             
             
@@ -429,7 +429,7 @@
   <article class="page" itemscope itemtype="http://schema.org/CreativeWork">
     <meta itemprop="headline" content="Best Practice in Pull Request">
     <meta itemprop="description" content="This page guides you through Git setup and contribution process.">
-    <meta itemprop="datePublished" content="June 02, 2017">
+    <meta itemprop="datePublished" content="June 06, 2017">
     <meta itemprop="dateModified" content="December 25, 2016">
 
     <div class="page__inner-wrap">

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/94c21bba/content/docs/quick-start/index.html
----------------------------------------------------------------------
diff --git a/content/docs/quick-start/index.html b/content/docs/quick-start/index.html
index 51b337f..42f7f5b 100644
--- a/content/docs/quick-start/index.html
+++ b/content/docs/quick-start/index.html
@@ -57,7 +57,7 @@
 
 
   <meta property="og:type" content="article">
-  <meta property="article:published_time" content="2017-06-02T15:31:28+08:00">
+  <meta property="article:published_time" content="2017-06-06T21:20:18+08:00">
 
 
 
@@ -183,7 +183,7 @@
             
             
 
-            <li><a href="/docs/quick-start/" class="active">Quick Start</a></li>
+            <li><a href="/docs/motivation/" class="">Why RocketMQ</a></li>
           
             
             
@@ -191,7 +191,7 @@
             
             
 
-            <li><a href="/docs/motivation/" class="">Why RocketMQ</a></li>
+            <li><a href="/docs/quick-start/" class="active">Quick Start</a></li>
           
             
             
@@ -429,7 +429,7 @@
   <article class="page" itemscope itemtype="http://schema.org/CreativeWork">
     <meta itemprop="headline" content="Quick Start">
     <meta itemprop="description" content="How to quickly install and setup Apache RocketMQ.">
-    <meta itemprop="datePublished" content="June 02, 2017">
+    <meta itemprop="datePublished" content="June 06, 2017">
     <meta itemprop="dateModified" content="December 30, 2016">
 
     <div class="page__inner-wrap">
@@ -442,7 +442,7 @@
       
 
       <section class="page__content" itemprop="text">
-        <p>This quick start guide is to give detailed instructions, helping you setup RocketMQ messaging system on a single local machine and send/receive the very first message.</p>
+        <p>This quick start guide is a detailed instruction of setting up RocketMQ messaging system on a local machine and sending/receiving messages.</p>
 
 <aside class="sidebar__right">
 <nav class="toc">
@@ -493,11 +493,10 @@
   The broker[%s, 172.30.30.233:10911] boot success...
 </code></pre>
 </div>
-<p>you may need to pay attention to the broker ip, for that the broker will not use the loopback network interface, So you should make sure you have connected to other network.</p>
 
 <h1 id="send--receive-messages">Send &amp; Receive Messages</h1>
 
-<p>Before sending/receiving messages, we need to tell clients where name servers are located. RocketMQ provides multiple ways to achieve this. For simplicity, we use environment variable <code class="highlighter-rouge">NAMESRV_ADDR</code></p>
+<p>Before sending/receiving messages, we need to tell clients the location of name servers. RocketMQ provides multiple ways to achieve this. For simplicity, we use environment variable <code class="highlighter-rouge">NAMESRV_ADDR</code></p>
 
 <div class="language-shell highlighter-rouge"><pre class="highlight"><code> &gt; <span class="nb">export </span><span class="nv">NAMESRV_ADDR</span><span class="o">=</span>localhost:9876
  &gt; sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/94c21bba/content/docs/release-manual.html
----------------------------------------------------------------------
diff --git a/content/docs/release-manual.html b/content/docs/release-manual.html
index a0b8d87..282f62d 100644
--- a/content/docs/release-manual.html
+++ b/content/docs/release-manual.html
@@ -57,7 +57,7 @@
 
 
   <meta property="og:type" content="article">
-  <meta property="article:published_time" content="2017-06-02T15:31:28+08:00">
+  <meta property="article:published_time" content="2017-06-06T21:20:18+08:00">
 
 
 
@@ -183,7 +183,7 @@
             
             
 
-            <li><a href="/docs/quick-start/" class="">Quick Start</a></li>
+            <li><a href="/docs/motivation/" class="">Why RocketMQ</a></li>
           
             
             
@@ -191,7 +191,7 @@
             
             
 
-            <li><a href="/docs/motivation/" class="">Why RocketMQ</a></li>
+            <li><a href="/docs/quick-start/" class="">Quick Start</a></li>
           
             
             
@@ -429,7 +429,7 @@
   <article class="page" itemscope itemtype="http://schema.org/CreativeWork">
     <meta itemprop="headline" content="Release Manual">
     <meta itemprop="description" content="Apache RocketMQ Release Manual">
-    <meta itemprop="datePublished" content="June 02, 2017">
+    <meta itemprop="datePublished" content="June 06, 2017">
     <meta itemprop="dateModified" content="February 08, 2017">
 
     <div class="page__inner-wrap">

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/94c21bba/content/docs/rmq-arc/index.html
----------------------------------------------------------------------
diff --git a/content/docs/rmq-arc/index.html b/content/docs/rmq-arc/index.html
index 2f19145..286062a 100644
--- a/content/docs/rmq-arc/index.html
+++ b/content/docs/rmq-arc/index.html
@@ -57,7 +57,7 @@
 
 
   <meta property="og:type" content="article">
-  <meta property="article:published_time" content="2017-06-02T15:31:28+08:00">
+  <meta property="article:published_time" content="2017-06-06T21:20:18+08:00">
 
 
 
@@ -183,7 +183,7 @@
             
             
 
-            <li><a href="/docs/quick-start/" class="">Quick Start</a></li>
+            <li><a href="/docs/motivation/" class="">Why RocketMQ</a></li>
           
             
             
@@ -191,7 +191,7 @@
             
             
 
-            <li><a href="/docs/motivation/" class="">Why RocketMQ</a></li>
+            <li><a href="/docs/quick-start/" class="">Quick Start</a></li>
           
             
             
@@ -429,7 +429,7 @@
   <article class="page" itemscope itemtype="http://schema.org/CreativeWork">
     <meta itemprop="headline" content="RocketMQ Architecture">
     <meta itemprop="description" content="The main Architecture of Apache RocketMQ.">
-    <meta itemprop="datePublished" content="June 02, 2017">
+    <meta itemprop="datePublished" content="June 06, 2017">
     <meta itemprop="dateModified" content="April 25, 2017">
 
     <div class="page__inner-wrap">
@@ -458,15 +458,15 @@
 
 <h1 id="overview">Overview</h1>
 
-<p>The greatest innovation of RocketMQ is high throughput, high reliability, and low latency of supporting massive messages through exquisite scale out and scale up. RocketMQ consists of four parts, Name Servers, Brokers, Producers and Consumers. Each of them can be horizontally extended without single Point of Failure. As shown in screenshot below.</p>
+<p>The greatest strengths of RocketMQ are high throughput, high reliability, and low latency when supporting massive messages through exquisite scale out and scale up. RocketMQ consists of four parts: name servers, brokers, producers and consumers. Each of them can be horizontally extended without a single Point of Failure. As shown in screenshot below.</p>
 
 <p><strong>NameServer Cluster</strong></p>
 
-<p>Name Servers provide lightweight service discovery and routing. Each Name Server records full routing information, provides equivalent reading and writing service, and supports fast storage expansion.</p>
+<p>Name Servers provide lightweight service discovery and routing. Each Name Server records full routing information, provides corresponding reading and writing service, and supports fast storage expansion.</p>
 
 <p><strong>Broker Cluster</strong></p>
 
-<p>Brokers take care of message storage by providing lightweight TOPIC and QUEUE mechanisms. It supports the Push and Pull modes, fault tolerance mechanism (2 copies or 3 copies), strong padding of peaks and capacity of accumulating hundreds of billion messages in their original time order. In addition, Brokers provide disaster recovery, rich metrics statistics, and alert mechanisms, all of which are lack in traditional messaging systems.</p>
+<p>Brokers take care of message storage by providing lightweight TOPIC and QUEUE mechanisms. It supports the Push and Pull model, contains fault tolerance mechanism (2 copies or 3 copies), and provides strong padding of peaks and capacity of accumulating hundreds of billion messages in their original time order. In addition, Brokers provide disaster recovery, rich metrics statistics, and alert mechanisms, all of which are lacking in traditional messaging systems.</p>
 
 <p><strong>Producer Cluster</strong></p>
 
@@ -474,19 +474,19 @@
 
 <p><strong>Consumer Cluster</strong></p>
 
-<p>Consumers support distributed deployment in the Push and Pull models as well. It also supports cluster consumption and message broadcast. It provides real-time message subscription mechanism and can meet most consumer scenarios. 
-RocketMQ’s website provide a quick-start guide[3] for those guys who want to have a try without too much labor.</p>
+<p>Consumers support distributed deployment in the Push and Pull model as well. It also supports cluster consumption and message broadcasting. It provides real-time message subscription mechanism and can meet most consumer requirements. 
+RocketMQ’s website provides a simple quick-start guide[3] to interested users.</p>
 
 <h1 id="nameserver">NameServer</h1>
 
-<p>NameServer is a little but fully functional server, which mainly includes two features:</p>
+<p>NameServer is a fully functional server, which mainly includes two features:</p>
 
 <ul>
-  <li>Broker Management, <strong>NameServer</strong> accepts the register from Broker cluster and provides heartbeat mechanism to ensure whether a broker is alive.</li>
+  <li>Broker Management, <strong>NameServer</strong> accepts the register from Broker cluster and provides heartbeat mechanism to check whether a broker is alive.</li>
   <li>Routing Management, each NameServer will hold whole routing info about the broker cluster and the <strong>queue</strong> info for clients query.</li>
 </ul>
 
-<p>As we know, RocketMQ clients(Producer/Consumer) will query the queue routing info from NameServer, but how do the clients find NameServer address?</p>
+<p>As we know, RocketMQ clients(Producer/Consumer) will query the queue routing info from NameServer, but how do clients find NameServer address?</p>
 
 <p>There are four methods to feed NameServer address list to clients:</p>
 

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/94c21bba/content/docs/rmq-deployment/index.html
----------------------------------------------------------------------
diff --git a/content/docs/rmq-deployment/index.html b/content/docs/rmq-deployment/index.html
index 46a0c88..c526bd3 100644
--- a/content/docs/rmq-deployment/index.html
+++ b/content/docs/rmq-deployment/index.html
@@ -57,7 +57,7 @@
 
 
   <meta property="og:type" content="article">
-  <meta property="article:published_time" content="2017-06-02T15:31:28+08:00">
+  <meta property="article:published_time" content="2017-06-06T21:20:18+08:00">
 
 
 
@@ -183,7 +183,7 @@
             
             
 
-            <li><a href="/docs/quick-start/" class="">Quick Start</a></li>
+            <li><a href="/docs/motivation/" class="">Why RocketMQ</a></li>
           
             
             
@@ -191,7 +191,7 @@
             
             
 
-            <li><a href="/docs/motivation/" class="">Why RocketMQ</a></li>
+            <li><a href="/docs/quick-start/" class="">Quick Start</a></li>
           
             
             
@@ -429,7 +429,7 @@
   <article class="page" itemscope itemtype="http://schema.org/CreativeWork">
     <meta itemprop="headline" content="Deployment">
     <meta itemprop="description" content="How to deploy the Apache RocketMQ.">
-    <meta itemprop="datePublished" content="June 02, 2017">
+    <meta itemprop="datePublished" content="June 06, 2017">
     <meta itemprop="dateModified" content="April 25, 2017">
 
     <div class="page__inner-wrap">
@@ -481,14 +481,14 @@
 
 <h4 id="production-ready-deployment">Production-ready Deployment</h4>
 <h5 id="name-server">Name Server</h5>
-<p>To ensure the cluster can still operate normally when one instance crashes, two or more name server instances are recommended. As long as there is at least one name server instance alive, the whole cluster remains serving.</p>
+<p>To ensure the cluster can still operate normally when one instance crashes, two or more name server instances are recommended. As long as there is one name server instance alive, the whole cluster remains in service.</p>
 
-<p>Name server follows share-nothing design paradigm. Brokers send heartbeat data to all name servers. Producers and consumers may query meta data from any one of name servers available while sending / consuming messages.</p>
+<p>Name server follows the share-nothing design paradigm. Brokers send heartbeat data to all name servers. Producers and consumers may query meta data from any of name servers available while sending / consuming messages.</p>
 
 <h4 id="broker">Broker</h4>
 <p>Brokers can be divided into two categories according to their roles: master and slave. Master brokers provide RW access while slave brokers only accept read access.</p>
 
-<p>To deploy a high-availability RocketMQ cluster which has no single point of failure, a series of broker sets should be deployed. One broker set contains one master with brokerId set to 0 and several slaves with non-zero brokerIDs. All of the brokers in one set have the same brokerName. In serious scenarios, we should have at least two brokers in one broker set. Each topic resides in two or more brokers.</p>
+<p>To deploy a high-availability RocketMQ cluster which has no single point of failure, a series of broker sets should be deployed. A broker set contains one master with brokerId set to 0 and several slaves with non-zero brokerIDs. All of the brokers in one set have the same brokerName. In serious scenarios, we should have at least two brokers in one broker set. Each topic resides in two or more brokers.</p>
 
 <h3 id="configuration">Configuration</h3>
 <p>When deploying a RocketMQ cluster, below configurations should be taken into consideration.</p>
@@ -639,11 +639,11 @@ If you want to get more information about a specific command like ‘clusterList
 </div>
 
 <h3 id="replication-mode">Replication mode</h3>
-<p>With the purpose to guarantee that any successfully published message will not be lost, RocketMQ provides a Replication mode to gain stronger durability and higher availability with two replication way: Sync &amp; Async.</p>
+<p>To guarantee any successfully published message won’t be lost, RocketMQ provides a Replication mode to gain stronger durability and higher availability with two replication way: Sync &amp; Async.</p>
 
 <h5 id="replication-sync--async-broker">Replication: Sync / Async Broker</h5>
 
-<p>Similar to many replication system, sync brokers await until commit log is replicated to the slave before acknowledging. Async brokers, instead, return immediately after messages are processed on master.</p>
+<p>Like many replication system, sync brokers wait until commit log is replicated to the slave before acknowledging. Async brokers, instead, return immediately after messages are processed on master.</p>
 
 <h5 id="how-to-configure">How to configure</h5>
 <p>There are three pre-built configurations shipped with the distribution of RocketMQ under conf folder for your reference:</p>

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/94c21bba/content/docs/roadmap/index.html
----------------------------------------------------------------------
diff --git a/content/docs/roadmap/index.html b/content/docs/roadmap/index.html
index be735df..6f42f04 100644
--- a/content/docs/roadmap/index.html
+++ b/content/docs/roadmap/index.html
@@ -57,7 +57,7 @@
 
 
   <meta property="og:type" content="article">
-  <meta property="article:published_time" content="2017-06-02T15:31:28+08:00">
+  <meta property="article:published_time" content="2017-06-06T21:20:18+08:00">
 
 
 
@@ -183,7 +183,7 @@
             
             
 
-            <li><a href="/docs/quick-start/" class="">Quick Start</a></li>
+            <li><a href="/docs/motivation/" class="">Why RocketMQ</a></li>
           
             
             
@@ -191,7 +191,7 @@
             
             
 
-            <li><a href="/docs/motivation/" class="">Why RocketMQ</a></li>
+            <li><a href="/docs/quick-start/" class="">Quick Start</a></li>
           
             
             
@@ -429,7 +429,7 @@
   <article class="page" itemscope itemtype="http://schema.org/CreativeWork">
     <meta itemprop="headline" content="The RoadMap of Apache RocketMQ">
     <meta itemprop="description" content="4.1.0~4.3.0-incubating RoadMap:">
-    <meta itemprop="datePublished" content="June 02, 2017">
+    <meta itemprop="datePublished" content="June 06, 2017">
     <meta itemprop="dateModified" content="March 08, 2017">
 
     <div class="page__inner-wrap">

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/94c21bba/content/docs/schedule-example/index.html
----------------------------------------------------------------------
diff --git a/content/docs/schedule-example/index.html b/content/docs/schedule-example/index.html
index 40aee73..9878d07 100644
--- a/content/docs/schedule-example/index.html
+++ b/content/docs/schedule-example/index.html
@@ -57,7 +57,7 @@
 
 
   <meta property="og:type" content="article">
-  <meta property="article:published_time" content="2017-06-02T15:31:28+08:00">
+  <meta property="article:published_time" content="2017-06-06T21:20:18+08:00">
 
 
 
@@ -183,7 +183,7 @@
             
             
 
-            <li><a href="/docs/quick-start/" class="">Quick Start</a></li>
+            <li><a href="/docs/motivation/" class="">Why RocketMQ</a></li>
           
             
             
@@ -191,7 +191,7 @@
             
             
 
-            <li><a href="/docs/motivation/" class="">Why RocketMQ</a></li>
+            <li><a href="/docs/quick-start/" class="">Quick Start</a></li>
           
             
             
@@ -429,7 +429,7 @@
   <article class="page" itemscope itemtype="http://schema.org/CreativeWork">
     <meta itemprop="headline" content="Schedule example">
     <meta itemprop="description" content="How to use schedule component to reduce pull in RocketMQ.">
-    <meta itemprop="datePublished" content="June 02, 2017">
+    <meta itemprop="datePublished" content="June 06, 2017">
     <meta itemprop="dateModified" content="April 25, 2017">
 
     <div class="page__inner-wrap">
@@ -446,7 +446,7 @@
 <nav class="toc">
     <header><h4 class="nav__title"><i class="fa fa-file-text"></i> On This Page</h4></header>
 <ul class="toc__menu" id="markdown-toc">
-  <li><a href="#what-is-mq-schedule" id="markdown-toc-what-is-mq-schedule">What is mq schedule?</a>    <ul>
+  <li><a href="#what-is-scheduled-message" id="markdown-toc-what-is-scheduled-message">What is scheduled message?</a>    <ul>
       <li><a href="#defaultmqpullconsumer-use-case" id="markdown-toc-defaultmqpullconsumer-use-case">DefaultMQPullConsumer use case</a></li>
       <li><a href="#use-mqpullconsumerscheduleservice-consume-message" id="markdown-toc-use-mqpullconsumerscheduleservice-consume-message">Use MQPullConsumerScheduleService consume message</a></li>
       <li><a href="#have-fun-with-mqpullconsumerscheduleservice" id="markdown-toc-have-fun-with-mqpullconsumerscheduleservice">Have fun with <code class="highlighter-rouge">MQPullConsumerScheduleService</code>.</a></li>
@@ -457,8 +457,9 @@
   </nav>
 </aside>
 
-<h3 id="what-is-mq-schedule">What is mq schedule?</h3>
-<p>If you use <code class="highlighter-rouge">DefaultMQPullConsumer</code> to consume message,you have to fetch message manualy.There are some steps here to achieve this point.But with <code class="highlighter-rouge">MQPullConsumerScheduleService</code>,you will consume messages easily.</p>
+<h3 id="what-is-scheduled-message">What is scheduled message?</h3>
+<p>Scheduled messages differ from normal messages such that they won’t be delivered until a provided time later.
+If you use <code class="highlighter-rouge">DefaultMQPullConsumer</code> to consume message, you have to fetch message manually. There are other options availible but  <code class="highlighter-rouge">MQPullConsumerScheduleService</code> is the easiest.</p>
 
 <h4 id="defaultmqpullconsumer-use-case">DefaultMQPullConsumer use case</h4>
 

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/94c21bba/content/docs/simple-example/index.html
----------------------------------------------------------------------
diff --git a/content/docs/simple-example/index.html b/content/docs/simple-example/index.html
index a6d1dbf..6809304 100644
--- a/content/docs/simple-example/index.html
+++ b/content/docs/simple-example/index.html
@@ -57,7 +57,7 @@
 
 
   <meta property="og:type" content="article">
-  <meta property="article:published_time" content="2017-06-02T15:31:28+08:00">
+  <meta property="article:published_time" content="2017-06-06T21:20:18+08:00">
 
 
 
@@ -183,7 +183,7 @@
             
             
 
-            <li><a href="/docs/quick-start/" class="">Quick Start</a></li>
+            <li><a href="/docs/motivation/" class="">Why RocketMQ</a></li>
           
             
             
@@ -191,7 +191,7 @@
             
             
 
-            <li><a href="/docs/motivation/" class="">Why RocketMQ</a></li>
+            <li><a href="/docs/quick-start/" class="">Quick Start</a></li>
           
             
             
@@ -429,7 +429,7 @@
   <article class="page" itemscope itemtype="http://schema.org/CreativeWork">
     <meta itemprop="headline" content="Simple Message Example">
     <meta itemprop="description" content="How to send simple message to reduce pull in RocketMQ.">
-    <meta itemprop="datePublished" content="June 02, 2017">
+    <meta itemprop="datePublished" content="June 06, 2017">
     <meta itemprop="dateModified" content="April 25, 2017">
 
     <div class="page__inner-wrap">
@@ -446,101 +446,67 @@
 <nav class="toc">
     <header><h4 class="nav__title"><i class="fa fa-file-text"></i> On This Page</h4></header>
 <ul class="toc__menu" id="markdown-toc">
+  <li><a href="#reliable-synchronous-transmission" id="markdown-toc-reliable-synchronous-transmission">Reliable synchronous transmission</a></li>
   <li><a href="#reliable-asynchronous-transmission" id="markdown-toc-reliable-asynchronous-transmission">Reliable asynchronous transmission</a></li>
+  <li><a href="#one-way-transmission" id="markdown-toc-one-way-transmission">One-way transmission</a></li>
 </ul>
 
   </nav>
 </aside>
 
-<p>Use Rocketmq to send ordinary messages have three ways: reliable synchronous transmission, reliable
-asynchronous transmission, one-way (Oneway) send.</p>
-
-<p>This paper introduces the principle of
-each implementation, the use of the scene and the similarities and differences between the
-three implementations, and provides a code example for reference
-Reliable synchronous transmission
-Principle: synchronous transmission refers to the sender of the message issued after the
-data are received after the recipient sends back a packet should be made under the mode of
-communication
-Application scenarios: this way the application of the scene is very extensive, such as
+<p>Use RocketMQ to send messages in three ways: reliable synchronous, reliable
+asynchronous, and one-way transmission.</p>
+
+<p>This page introduces: 
+the use cases, similarities and differences between the three implementations, 
+and a code example for reference.</p>
+
+<h3 id="reliable-synchronous-transmission">Reliable synchronous transmission</h3>
+
+<p>Application: Reliable synchronous transmission is used in extensive scenes, such as
 important notification messages, SMS notification, SMS marketing system, etc..</p>
 
-<div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="nc">Producer</span> <span class="o">{</span>
-    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">MQClientException</span><span class="o">,</span>
-        <span class="n">InterruptedException</span> <span class="o">{</span>
-         <span class="cm">/*
-         * Instantiate with a producer group name.
-         */</span>
+<div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="nc">SyncProducer</span> <span class="o">{</span>
+    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
+        <span class="c1">//Instantiate with a producer group name.</span>
         <span class="n">DefaultMQProducer</span> <span class="n">producer</span> <span class="o">=</span> <span class="k">new</span>
             <span class="n">DefaultMQProducer</span><span class="o">(</span><span class="s">"please_rename_unique_group_name"</span><span class="o">);</span>
-         <span class="cm">/*
-         * Specify name server addresses.
-         * &lt;p/&gt;
-         *
-         * Alternatively, you may specify name server addresses via exporting
-        environmental variable: NAMESRV_ADDR
-         * &lt;pre&gt;
-         * {@code
-         * producer.setNamesrvAddr("name-server1-ip:9876;name-server2-ip:9876");
-         * }
-         * &lt;/pre&gt;
-         */</span>
-         <span class="cm">/*
-         * Launch the instance.
-         */</span>
+        <span class="c1">//Launch the instance.</span>
         <span class="n">producer</span><span class="o">.</span><span class="na">start</span><span class="o">();</span>
-        <span class="k">for</span> <span class="o">(</span><span class="kt">int</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="o">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="mi">1000</span><span class="o">;</span> <span class="n">i</span><span class="o">++)</span> <span class="o">{</span>
-            <span class="k">try</span> <span class="o">{</span>
-                 <span class="cm">/*
-                 * Create a message instance, specifying topic, tag and message
-                body.
-                 */</span>
-                <span class="n">Message</span> <span class="n">msg</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Message</span><span class="o">(</span><span class="s">"TopicTest"</span> <span class="cm">/* Topic */</span><span class="o">,</span>
-                    <span class="s">"TagA"</span> <span class="cm">/* Tag */</span><span class="o">,</span>
-                    <span class="o">(</span><span class="s">"Hello RocketMQ "</span> <span class="o">+</span>
-                        <span class="n">i</span><span class="o">).</span><span class="na">getBytes</span><span class="o">(</span><span class="n">RemotingHelper</span><span class="o">.</span><span class="na">DEFAULT_CHARSET</span><span class="o">)</span> <span class="cm">/* Message body */</span>
-                <span class="o">);</span>
-                 <span class="cm">/*
-                 * Call send message to deliver message to one of brokers.
-                 */</span>
-                <span class="n">SendResult</span> <span class="n">sendResult</span> <span class="o">=</span> <span class="n">producer</span><span class="o">.</span><span class="na">send</span><span class="o">(</span><span class="n">msg</span><span class="o">);</span>
-                <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">printf</span><span class="o">(</span><span class="s">"%s%n"</span><span class="o">,</span> <span class="n">sendResult</span><span class="o">);</span>
-            <span class="o">}</span> <span class="k">catch</span> <span class="o">(</span><span class="n">Exception</span> <span class="n">e</span><span class="o">)</span> <span class="o">{</span>
-                <span class="n">e</span><span class="o">.</span><span class="na">printStackTrace</span><span class="o">();</span>
-                <span class="n">Thread</span><span class="o">.</span><span class="na">sleep</span><span class="o">(</span><span class="mi">1000</span><span class="o">);</span>
-            <span class="o">}</span>
+        <span class="k">for</span> <span class="o">(</span><span class="kt">int</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="o">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="mi">100</span><span class="o">;</span> <span class="n">i</span><span class="o">++)</span> <span class="o">{</span>
+            <span class="c1">//Create a message instance, specifying topic, tag and message body.</span>
+            <span class="n">Message</span> <span class="n">msg</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Message</span><span class="o">(</span><span class="s">"TopicTest"</span> <span class="cm">/* Topic */</span><span class="o">,</span>
+                <span class="s">"TagA"</span> <span class="cm">/* Tag */</span><span class="o">,</span>
+                <span class="o">(</span><span class="s">"Hello RocketMQ "</span> <span class="o">+</span>
+                    <span class="n">i</span><span class="o">).</span><span class="na">getBytes</span><span class="o">(</span><span class="n">RemotingHelper</span><span class="o">.</span><span class="na">DEFAULT_CHARSET</span><span class="o">)</span> <span class="cm">/* Message body */</span>
+            <span class="o">);</span>
+            <span class="c1">//Call send message to deliver message to one of brokers.</span>
+            <span class="n">SendResult</span> <span class="n">sendResult</span> <span class="o">=</span> <span class="n">producer</span><span class="o">.</span><span class="na">send</span><span class="o">(</span><span class="n">msg</span><span class="o">);</span>
+            <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">printf</span><span class="o">(</span><span class="s">"%s%n"</span><span class="o">,</span> <span class="n">sendResult</span><span class="o">);</span>
         <span class="o">}</span>
-         <span class="cm">/*
-         * Shut down once the producer instance is not longer in use.
-         */</span>
+        <span class="c1">//Shut down once the producer instance is not longer in use.</span>
         <span class="n">producer</span><span class="o">.</span><span class="na">shutdown</span><span class="o">();</span>
     <span class="o">}</span>
 <span class="o">}</span>
 
 </code></pre>
 </div>
-<h4 id="reliable-asynchronous-transmission">Reliable asynchronous transmission</h4>
-<p>Principle: asynchronous transmission refers to the sender sends the data, not the receiver
-back to respond, and then send the next packet communication. Asynchronous send MQ,
-users need to realize asynchronous callback interface (SendCallback), in the implementation
-of asynchronous send message to the application server, without waiting for a response can
-be returned directly to the receiving server, through the callback interface response, and
-response to the server for processing results.</p>
-
-<p>Applications: asynchronous transmission is generally used to link time-consuming, RT
-response time sensitive business scenarios, such as user video upload after notification to
-start transcoding, the transcoding after push notification transcoding results.</p>
+<h3 id="reliable-asynchronous-transmission">Reliable asynchronous transmission</h3>
+
+<p>Application: asynchronous transmission is generally used to link time-consuming, 
+response time sensitive business scenarios.</p>
 
 <div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="nc">AsyncProducer</span> <span class="o">{</span>
-    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">MQClientException</span><span class="o">,</span>
-        <span class="n">InterruptedException</span><span class="o">,</span> <span class="n">UnsupportedEncodingException</span> <span class="o">{</span>
+    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
+        <span class="c1">//Instantiate with a producer group name.</span>
         <span class="n">DefaultMQProducer</span> <span class="n">producer</span> <span class="o">=</span> <span class="k">new</span> <span class="n">DefaultMQProducer</span><span class="o">(</span><span class="s">"Jodie_Daily_test"</span><span class="o">);</span>
+        <span class="c1">//Launch the instance.</span>
         <span class="n">producer</span><span class="o">.</span><span class="na">start</span><span class="o">();</span>
         <span class="n">producer</span><span class="o">.</span><span class="na">setRetryTimesWhenSendAsyncFailed</span><span class="o">(</span><span class="mi">0</span><span class="o">);</span>
-        <span class="k">for</span> <span class="o">(</span><span class="kt">int</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="o">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="mi">10000000</span><span class="o">;</span> <span class="n">i</span><span class="o">++)</span> <span class="o">{</span>
-            <span class="k">try</span> <span class="o">{</span>
+        <span class="k">for</span> <span class="o">(</span><span class="kt">int</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="o">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="mi">100</span><span class="o">;</span> <span class="n">i</span><span class="o">++)</span> <span class="o">{</span>
                 <span class="kd">final</span> <span class="kt">int</span> <span class="n">index</span> <span class="o">=</span> <span class="n">i</span><span class="o">;</span>
-                <span class="n">Message</span> <span class="n">msg</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Message</span><span class="o">(</span><span class="s">"Jodie_topic_1023"</span><span class="o">,</span>
+                <span class="c1">//Create a message instance, specifying topic, tag and message body.</span>
+                <span class="n">Message</span> <span class="n">msg</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Message</span><span class="o">(</span><span class="s">"TopicTest"</span><span class="o">,</span>
                     <span class="s">"TagA"</span><span class="o">,</span>
                     <span class="s">"OrderID188"</span><span class="o">,</span>
                     <span class="s">"Hello world"</span><span class="o">.</span><span class="na">getBytes</span><span class="o">(</span><span class="n">RemotingHelper</span><span class="o">.</span><span class="na">DEFAULT_CHARSET</span><span class="o">));</span>
@@ -556,71 +522,37 @@ start transcoding, the transcoding after push notification transcoding results.<
                         <span class="n">e</span><span class="o">.</span><span class="na">printStackTrace</span><span class="o">();</span>
                     <span class="o">}</span>
                 <span class="o">});</span>
-            <span class="o">}</span> <span class="k">catch</span> <span class="o">(</span><span class="n">Exception</span> <span class="n">e</span><span class="o">)</span> <span class="o">{</span>
-                <span class="n">e</span><span class="o">.</span><span class="na">printStackTrace</span><span class="o">();</span>
-            <span class="o">}</span>
         <span class="o">}</span>
+        <span class="c1">//Shut down once the producer instance is not longer in use.</span>
         <span class="n">producer</span><span class="o">.</span><span class="na">shutdown</span><span class="o">();</span>
     <span class="o">}</span>
 <span class="o">}</span>
 </code></pre>
 </div>
 
-<p>Unidirectional (Oneway) transmission
-Principle: one-way (Oneway) to send the message is only responsible for sending the
-message, do not wait for the server to respond and no callback function to trigger, that is,
-send the request does not wait for a reply. The process of sending messages in this way
-takes a very short time, usually at the microsecond level.
-Application scenarios: for some very short, but not high reliability requirements of the scene,
+<h3 id="one-way-transmission">One-way transmission</h3>
+
+<p>Application: One-way transmission is used for cases requiring moderate reliability,
 such as log collection.</p>
 
-<div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="nc">producerOneWay</span> <span class="o">{</span>
-    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">MQClientException</span><span class="o">,</span>
-        <span class="n">InterruptedException</span><span class="o">,</span> <span class="n">MQClientException</span> <span class="o">{</span>
-         <span class="cm">/*
-         * Instantiate with a producer group name.
-         */</span>
-        <span class="n">DefaultMQProducer</span> <span class="n">producer</span> <span class="o">=</span> <span class="k">new</span>
-            <span class="n">DefaultMQProducer</span><span class="o">(</span><span class="s">"please_rename_unique_group_name"</span><span class="o">);</span>
-         <span class="cm">/*
-         * Specify name server addresses.
-         * &lt;p/&gt;
-         *
-         * Alternatively, you may specify name server addresses via exporting
-        environmental variable: NAMESRV_ADDR
-         * &lt;pre&gt;
-         * {@code
-         * producer.setNamesrvAddr("name-server1-ip:9876;name-server2-ip:9876");
-         * }
-         * &lt;/pre&gt;
-         */</span>
-         <span class="cm">/*
-         * Launch the instance.
-         */</span>
+<div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="nc">OnewayProducer</span> <span class="o">{</span>
+    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span><span class="o">{</span>
+        <span class="c1">//Instantiate with a producer group name.</span>
+        <span class="n">DefaultMQProducer</span> <span class="n">producer</span> <span class="o">=</span> <span class="k">new</span> <span class="n">DefaultMQProducer</span><span class="o">(</span><span class="s">"example_group_name"</span><span class="o">);</span>
+        <span class="c1">//Launch the instance.</span>
         <span class="n">producer</span><span class="o">.</span><span class="na">start</span><span class="o">();</span>
-        <span class="k">for</span> <span class="o">(</span><span class="kt">int</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="o">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="mi">1000</span><span class="o">;</span> <span class="n">i</span><span class="o">++)</span> <span class="o">{</span>
-            <span class="k">try</span> <span class="o">{</span>
-                 <span class="cm">/*
-                 * Create a message instance, specifying topic, tag and message
-                body.
-                 */</span>
-                <span class="n">Message</span> <span class="n">msg</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Message</span><span class="o">(</span><span class="s">"TopicTest"</span> <span class="cm">/* Topic */</span><span class="o">,</span>
-                    <span class="s">"TagA"</span> <span class="cm">/* Tag */</span><span class="o">,</span>
-                    <span class="o">(</span><span class="s">"Hello RocketMQ "</span> <span class="o">+</span>
-                        <span class="n">i</span><span class="o">).</span><span class="na">getBytes</span><span class="o">(</span><span class="n">RemotingHelper</span><span class="o">.</span><span class="na">DEFAULT_CHARSET</span><span class="o">)</span> <span class="cm">/* Message body */</span>
-                <span class="o">);</span>
-                 <span class="cm">/*
-                 * Call send message to deliver message to one of brokers.
-                 */</span>
-                <span class="n">producer</span><span class="o">.</span><span class="na">sendOneway</span><span class="o">(</span><span class="n">msg</span><span class="o">);</span>
-            <span class="o">}</span> <span class="k">catch</span> <span class="o">(</span><span class="n">Exception</span> <span class="n">e</span><span class="o">)</span> <span class="o">{</span>
-                <span class="n">e</span><span class="o">.</span><span class="na">printStackTrace</span><span class="o">();</span>
-                <span class="n">Thread</span><span class="o">.</span><span class="na">sleep</span><span class="o">(</span><span class="mi">1000</span><span class="o">);</span>
-            <span class="o">}</span>
+        <span class="k">for</span> <span class="o">(</span><span class="kt">int</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="o">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="mi">100</span><span class="o">;</span> <span class="n">i</span><span class="o">++)</span> <span class="o">{</span>
+            <span class="c1">//Create a message instance, specifying topic, tag and message body.</span>
+            <span class="n">Message</span> <span class="n">msg</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Message</span><span class="o">(</span><span class="s">"TopicTest"</span> <span class="cm">/* Topic */</span><span class="o">,</span>
+                <span class="s">"TagA"</span> <span class="cm">/* Tag */</span><span class="o">,</span>
+                <span class="o">(</span><span class="s">"Hello RocketMQ "</span> <span class="o">+</span>
+                    <span class="n">i</span><span class="o">).</span><span class="na">getBytes</span><span class="o">(</span><span class="n">RemotingHelper</span><span class="o">.</span><span class="na">DEFAULT_CHARSET</span><span class="o">)</span> <span class="cm">/* Message body */</span>
+            <span class="o">);</span>
+            <span class="c1">//Call send message to deliver message to one of brokers.</span>
+            <span class="n">producer</span><span class="o">.</span><span class="na">sendOneway</span><span class="o">(</span><span class="n">msg</span><span class="o">);</span>
+            
         <span class="o">}</span>
-         <span class="cm">/*
-         * Shut down once the producer instance is not longer in use.
-         */</span>
+        <span class="c1">//Shut down once the producer instance is not longer in use.</span>
         <span class="n">producer</span><span class="o">.</span><span class="na">shutdown</span><span class="o">();</span>
     <span class="o">}</span>
 <span class="o">}</span>
@@ -663,7 +595,7 @@ such as log collection.</p>
 ">Previous</a>
     
     
-      <a href="/docs/filter-by-sql92-example/" class="pagination--pager" title="Filter By SQL92 Example
+      <a href="/docs/filter-by-sql92-example/" class="pagination--pager" title="Filter Example
 ">Next</a>
     
   </nav>

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/94c21bba/content/dowloading/releases/index.html
----------------------------------------------------------------------
diff --git a/content/dowloading/releases/index.html b/content/dowloading/releases/index.html
index 4097795..68562d9 100644
--- a/content/dowloading/releases/index.html
+++ b/content/dowloading/releases/index.html
@@ -57,7 +57,7 @@
 
 
   <meta property="og:type" content="article">
-  <meta property="article:published_time" content="2017-06-02T15:31:28+08:00">
+  <meta property="article:published_time" content="2017-06-06T21:20:18+08:00">
 
 
 
@@ -183,7 +183,7 @@
             
             
 
-            <li><a href="/docs/quick-start/" class="">Quick Start</a></li>
+            <li><a href="/docs/motivation/" class="">Why RocketMQ</a></li>
           
             
             
@@ -191,7 +191,7 @@
             
             
 
-            <li><a href="/docs/motivation/" class="">Why RocketMQ</a></li>
+            <li><a href="/docs/quick-start/" class="">Quick Start</a></li>
           
             
             
@@ -429,7 +429,7 @@
   <article class="page" itemscope itemtype="http://schema.org/CreativeWork">
     <meta itemprop="headline" content="Downloading the Apache RocketMQ Releases">
     <meta itemprop="description" content="Use the links below to download the Apache RocketMQ Releases, the latest release is 4.0.0-incubating.">
-    <meta itemprop="datePublished" content="June 02, 2017">
+    <meta itemprop="datePublished" content="June 06, 2017">
     <meta itemprop="dateModified" content="February 21, 2017">
 
     <div class="page__inner-wrap">

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/94c21bba/content/feed.xml
----------------------------------------------------------------------
diff --git a/content/feed.xml b/content/feed.xml
index 6d7c2e3..e17d0b8 100644
--- a/content/feed.xml
+++ b/content/feed.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type="text/xml" href="/feed.xslt.xml"?><feed xmlns="http://www.w3.org/2005/Atom"><generator uri="http://jekyllrb.com" version="3.3.1">Jekyll</generator><link href="/feed.xml" rel="self" type="application/atom+xml" /><link href="/" rel="alternate" type="text/html" /><updated>2017-06-02T15:31:28+08:00</updated><id>//</id><title type="html">Apache RocketMQ</title><subtitle>The homepage of RocketMQ.</subtitle><author><name>{&quot;name&quot;=&gt;nil, &quot;avatar&quot;=&gt;&quot;/assets/images/rmq-logo.png&quot;, &quot;bio&quot;=&gt;&quot;A fast, low latency, reliable, scalable, distributed MOM.&quot;, &quot;location&quot;=&gt;&quot;Hangzhou, China&quot;, &quot;email&quot;=&gt;&quot;dev@rocketmq.incubator.apache.org&quot;, &quot;uri&quot;=&gt;&quot;http://incubator.staging.apache.org/projects/rocketmq.html&quot;, &quot;bitbucket&quot;=&gt;nil, &quot;codepen&quot;=&gt;nil, &quot;dribbble&quot;=&gt;nil, &quot;flickr&quot;=&gt;nil, &quo
 t;facebook&quot;=&gt;nil, &quot;foursquare&quot;=&gt;nil, &quot;github&quot;=&gt;&quot;apache/incubator-rocketmq&quot;, &quot;google_plus&quot;=&gt;nil, &quot;keybase&quot;=&gt;nil, &quot;instagram&quot;=&gt;nil, &quot;lastfm&quot;=&gt;nil, &quot;linkedin&quot;=&gt;nil, &quot;pinterest&quot;=&gt;nil, &quot;soundcloud&quot;=&gt;nil, &quot;stackoverflow&quot;=&gt;&quot;questions/tagged/rocketmq&quot;, &quot;steam&quot;=&gt;nil, &quot;tumblr&quot;=&gt;nil, &quot;twitter&quot;=&gt;&quot;ApacheRocketMQ&quot;, &quot;vine&quot;=&gt;nil, &quot;weibo&quot;=&gt;nil, &quot;xing&quot;=&gt;nil, &quot;youtube&quot;=&gt;nil, &quot;quora&quot;=&gt;&quot;topic/RocketMQ&quot;}</name><email>dev@rocketmq.incubator.apache.org</email><uri>http://incubator.staging.apache.org/projects/rocketmq.html</uri></author><entry><title type="html">Release Notes - Apache RocketMQ - Version 4.1.0-incubating</title><link href="/release-notes-4.1.0-incubating/" rel="alternate" type="text/html" title="Release Notes - Apa
 che RocketMQ - Version 4.1.0-incubating" /><published>2017-06-02T00:00:00+08:00</published><updated>2017-06-02T00:00:00+08:00</updated><id>/release-notes-4.1.0-incubating</id><content type="html" xml:base="/release-notes-4.1.0-incubating/">&lt;p&gt;Release Notes - Apache RocketMQ - Version 4.1.0-incubating&lt;/p&gt;
+<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type="text/xml" href="/feed.xslt.xml"?><feed xmlns="http://www.w3.org/2005/Atom"><generator uri="http://jekyllrb.com" version="3.3.1">Jekyll</generator><link href="/feed.xml" rel="self" type="application/atom+xml" /><link href="/" rel="alternate" type="text/html" /><updated>2017-06-06T21:20:18+08:00</updated><id>//</id><title type="html">Apache RocketMQ</title><subtitle>The homepage of RocketMQ.</subtitle><author><name>{&quot;name&quot;=&gt;nil, &quot;avatar&quot;=&gt;&quot;/assets/images/rmq-logo.png&quot;, &quot;bio&quot;=&gt;&quot;A fast, low latency, reliable, scalable, distributed MOM.&quot;, &quot;location&quot;=&gt;&quot;Hangzhou, China&quot;, &quot;email&quot;=&gt;&quot;dev@rocketmq.incubator.apache.org&quot;, &quot;uri&quot;=&gt;&quot;http://incubator.staging.apache.org/projects/rocketmq.html&quot;, &quot;bitbucket&quot;=&gt;nil, &quot;codepen&quot;=&gt;nil, &quot;dribbble&quot;=&gt;nil, &quot;flickr&quot;=&gt;nil, &quo
 t;facebook&quot;=&gt;nil, &quot;foursquare&quot;=&gt;nil, &quot;github&quot;=&gt;&quot;apache/incubator-rocketmq&quot;, &quot;google_plus&quot;=&gt;nil, &quot;keybase&quot;=&gt;nil, &quot;instagram&quot;=&gt;nil, &quot;lastfm&quot;=&gt;nil, &quot;linkedin&quot;=&gt;nil, &quot;pinterest&quot;=&gt;nil, &quot;soundcloud&quot;=&gt;nil, &quot;stackoverflow&quot;=&gt;&quot;questions/tagged/rocketmq&quot;, &quot;steam&quot;=&gt;nil, &quot;tumblr&quot;=&gt;nil, &quot;twitter&quot;=&gt;&quot;ApacheRocketMQ&quot;, &quot;vine&quot;=&gt;nil, &quot;weibo&quot;=&gt;nil, &quot;xing&quot;=&gt;nil, &quot;youtube&quot;=&gt;nil, &quot;quora&quot;=&gt;&quot;topic/RocketMQ&quot;}</name><email>dev@rocketmq.incubator.apache.org</email><uri>http://incubator.staging.apache.org/projects/rocketmq.html</uri></author><entry><title type="html">Release Notes - Apache RocketMQ - Version 4.1.0-incubating</title><link href="/release-notes-4.1.0-incubating/" rel="alternate" type="text/html" title="Release Notes - Apa
 che RocketMQ - Version 4.1.0-incubating" /><published>2017-06-02T00:00:00+08:00</published><updated>2017-06-02T00:00:00+08:00</updated><id>/release-notes-4.1.0-incubating</id><content type="html" xml:base="/release-notes-4.1.0-incubating/">&lt;p&gt;Release Notes - Apache RocketMQ - Version 4.1.0-incubating&lt;/p&gt;
 
 &lt;h2 id=&quot;new-feature&quot;&gt;New Feature&lt;/h2&gt;
 

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/94c21bba/content/index.html
----------------------------------------------------------------------
diff --git a/content/index.html b/content/index.html
index fe7f837..67d8ebc 100644
--- a/content/index.html
+++ b/content/index.html
@@ -209,7 +209,7 @@
 
           
             <div class="archive__item-excerpt">
-              <p>More than 99.6% response latency within 1 millisecond under high stress.</p>
+              <p>More than 99.6% response latency within 1 millisecond under high pressure.</p>
 
             </div>
           
@@ -237,7 +237,7 @@
 
           
             <div class="archive__item-excerpt">
-              <p>High availability with tracking and auditing characteristics.</p>
+              <p>High availability with tracking and auditing features.</p>
 
             </div>
           
@@ -254,18 +254,18 @@
       <div class="archive__item">
         
           <div class="archive__item-teaser">
-            <img src="/assets/images/rmq-feature-bigdata.png" alt="BigData Friendly" />
+            <img src="/assets/images/rmq-feature-industry.png" alt="Industry Sustainable" />
           </div>
         
 
         <div class="archive__item-body">
           
-            <h2 class="archive__item-title">BigData Friendly</h2>
+            <h2 class="archive__item-title">Industry Sustainable</h2>
           
 
           
             <div class="archive__item-excerpt">
-              <p>Batch transferring with versatile integration for flooding throughput.</p>
+              <p>Trillion-level message capacity guaranteed.</p>
 
             </div>
           
@@ -288,18 +288,18 @@
       <div class="archive__item">
         
           <div class="archive__item-teaser">
-            <img src="/assets/images/rmq-feature-industry.png" alt="Industry Sustainable" />
+            <img src="/assets/images/rmq-feature-neutral.png" alt="Vendor Neutral" />
           </div>
         
 
         <div class="archive__item-body">
           
-            <h2 class="archive__item-title">Industry Sustainable</h2>
+            <h2 class="archive__item-title">Vendor Neutral</h2>
           
 
           
             <div class="archive__item-excerpt">
-              <p>Trillions of messages capacity guarantee especially in 11.11 Global Shopping Festival.</p>
+              <p>A new open distributed messaging and streaming standard since latest 4.1 version.</p>
 
             </div>
           
@@ -316,18 +316,18 @@
       <div class="archive__item">
         
           <div class="archive__item-teaser">
-            <img src="/assets/images/rmq-feature-massiveaccumulation.png" alt="Massive Accumulation" />
+            <img src="/assets/images/rmq-feature-bigdata.png" alt="BigData Friendly" />
           </div>
         
 
         <div class="archive__item-body">
           
-            <h2 class="archive__item-title">Massive Accumulation</h2>
+            <h2 class="archive__item-title">BigData Friendly</h2>
           
 
           
             <div class="archive__item-excerpt">
-              <p>Accumulate messages as long as having enough disk without performance loss.</p>
+              <p>Batch transferring with versatile integration for flooding throughput.</p>
 
             </div>
           
@@ -344,18 +344,18 @@
       <div class="archive__item">
         
           <div class="archive__item-teaser">
-            <img src="/assets/images/rmq-feature-neutral.png" alt="Vendor Neutral" />
+            <img src="/assets/images/rmq-feature-massiveaccumulation.png" alt="Massive Accumulation" />
           </div>
         
 
         <div class="archive__item-body">
           
-            <h2 class="archive__item-title">Vendor Neutral</h2>
+            <h2 class="archive__item-title">Massive Accumulation</h2>
           
 
           
             <div class="archive__item-excerpt">
-              <p>A new open distributed messaging and streaming standard since latest 4.x version.</p>
+              <p>Given sufficient disk space, accumulate messages without performance loss.</p>
 
             </div>