http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/ac7796b8/content/archive-layout-with-content/index.html
----------------------------------------------------------------------
diff --cc content/archive-layout-with-content/index.html
index c923688,0000000..5ce7bde
mode 100644,000000..100644
--- a/content/archive-layout-with-content/index.html
+++ b/content/archive-layout-with-content/index.html
@@@ -1,1065 -1,0 +1,1163 @@@
 +<!doctype html>
 +<html lang="en" class="no-js">
 +  <head>
 +    <meta charset="utf-8">
 +
 +<!-- begin SEO -->
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +<title>Archive Layout with Content - Apache RocketMQ</title>
 +
 +
 +
 +
 +<meta name="description" content="The homepage of RocketMQ.">
 +
 +
 +
 +
 +<meta property="og:locale" content="en">
 +<meta property="og:site_name" content="Apache RocketMQ">
 +<meta property="og:title" content="Archive Layout with Content">
 +
 +
 +
 +
 +
 +
 +  <meta name="twitter:site" content="@ApacheRocketMQ">
 +  <meta name="twitter:title" content="Archive Layout with Content">
 +  <meta name="twitter:description" content="The homepage of RocketMQ.">
 +  <meta name="twitter:url" content="">
 +
 +  
 +    <meta name="twitter:card" content="summary">
 +    
 +  
 +
 +  
 +
 +
 +
 +  
 +
 +  
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +  <script type="application/ld+json">
 +    {
 +      "@context" : "http://schema.org";,
 +      "@type" : "Person",
 +      "name" : "Apache RocketMQ",
 +      "url" : null,
 +      "sameAs" : null
 +    }
 +  </script>
 +
 +
 +
 +  <meta name="google-site-verification" 
content="aand0XZkSGsziuC-UPD4ZJniFD0m0JhGx6820y2mAQY" />
 +
 +
 +  <meta name="baidu-site-verification" content="wD06EbDRkQ" />
 +
 +
 +
 +
 +<!-- end SEO -->
 +
 +
 +<link href="/feed.xml" type="application/atom+xml" rel="alternate" 
title="Apache RocketMQ Feed">
 +
 +<!-- http://t.co/dKP3o1e -->
 +<meta name="HandheldFriendly" content="True">
 +<meta name="MobileOptimized" content="320">
 +<meta name="viewport" content="width=device-width, initial-scale=1.0">
 +
 +<script>
 +  document.documentElement.className = 
document.documentElement.className.replace(/\bno-js\b/g, '') + ' js ';
 +</script>
 +
 +<!-- For all browsers -->
 +<link rel="stylesheet" href="/assets/css/main.css">
 +
 +<meta http-equiv="cleartype" content="on">
 +    <!-- start custom head snippets -->
 +
 +<!-- insert favicons. use http://realfavicongenerator.net/ -->
 +
 +<!-- end custom head snippets -->
 +  </head>
 +
 +  <body class="layout--archive">
 +
 +    <!--[if lt IE 9]>
 +<div class="notice--danger align-center" style="margin: 0;">You are using an 
<strong>outdated</strong> browser. Please <a 
href="http://browsehappy.com/";>upgrade your browser</a> to improve your 
experience.</div>
 +<![endif]-->
 +    <div class="masthead">
 +  <div class="masthead__inner-wrap">
 +    <div class="masthead__menu">
 +      <nav id="site-nav" class="greedy-nav">
 +        <button><div class="navicon"></div></button>
 +        <ul class="visible-links">
 +          <li class="masthead__menu-item masthead__menu-item--lg"><a 
href="/">Apache RocketMQ</a></li>
 +          
 +            
 +            <li class="masthead__menu-item"><a 
href="/docs/quick-start/">Documentation</a></li>
 +          
 +            
 +            <li class="masthead__menu-item"><a 
href="/year-archive/">Blog</a></li>
 +          
 +            
 +            <li class="masthead__menu-item"><a 
href="/community/">Community</a></li>
 +          
 +            
 +            <li class="masthead__menu-item"><a 
href="/customer/">Customer</a></li>
 +          
 +            
 +            <li class="masthead__menu-item"><a 
href="/about/team/">About</a></li>
 +          
 +        </ul>
 +        <ul class="hidden-links hidden"></ul>
 +      </nav>
 +    </div>
 +  </div>
 +</div>
 +
 +    
 +
 +
 +
 +<div id="main" role="main">
 +  
 +  <div class="sidebar sticky">
 +  
 +
 +<div itemscope itemtype="http://schema.org/Person";>
 +
 +  
 +    <div class="author__avatar">
 +      
 +        <img src="/assets/images/rmq-logo.png" class="author__avatar" alt="" 
itemprop="image">
 +      
 +    </div>
 +  
 +
 +  <div class="author__content">
 +    <h3 class="author__name" itemprop="name"></h3>
 +    
 +      <p class="author__bio" itemprop="description">
 +        A fast, low latency, reliable, scalable, distributed MOM.
 +      </p>
 +    
 +  </div>
 +
 +  <div class="author__urls-wrapper">
 +    <button class="btn btn--inverse">Follow</button>
 +    <ul class="author__urls social-icons">
 +      
 +        <li itemprop="homeLocation" itemscope 
itemtype="http://schema.org/Place";>
 +          <i class="fa fa-fw fa-map-marker" aria-hidden="true"></i> <span 
itemprop="name">Hangzhou, China</span>
 +        </li>
 +      
 +
 +      
 +        <li>
 +          <a 
href="http://incubator.staging.apache.org/projects/rocketmq.html"; 
itemprop="url">
 +            <i class="fa fa-fw fa-chain" aria-hidden="true"></i> Website
 +          </a>
 +        </li>
 +      
 +
 +      
 +        <li>
 +          <a href="mailto:[email protected]";>
 +            <meta itemprop="email" 
content="[email protected]" />
 +            <i class="fa fa-fw fa-envelope-square" aria-hidden="true"></i> 
Email
 +          </a>
 +        </li>
 +      
 +
 +      
 +
 +      
 +        <li>
 +          <a href="https://twitter.com/ApacheRocketMQ"; itemprop="sameAs">
 +            <i class="fa fa-fw fa-twitter-square" aria-hidden="true"></i> 
Twitter
 +          </a>
 +        </li>
 +      
 +
 +      
 +
 +      
 +
 +      
 +
 +      
 +
 +      
 +
 +      
 +
 +      
 +
 +      
 +        <li>
 +          <a href="https://github.com/apache/incubator-rocketmq"; 
itemprop="sameAs">
 +            <i class="fa fa-fw fa-github" aria-hidden="true"></i> GitHub
 +          </a>
 +        </li>
 +      
 +
 +      
 +        <li>
 +          <a href="https://www.stackoverflow.com/questions/tagged/rocketmq"; 
itemprop="sameAs">
 +            <i class="fa fa-fw fa-stack-overflow" aria-hidden="true"></i> 
Stackoverflow
 +          </a>
 +        </li>
 +      
 +
 +      
 +        <li>
 +          <a href="https://www.quora.com/topic/RocketMQ"; itemprop="sameAs">
 +            <i class="fa fa-fw" aria-hidden="true"><strong>Q</strong></i> 
Quora
 +          </a>
 +        </li>
 +      
 +
 +      
 +
 +      
 +
 +      
 +
 +      
 +
 +      
 +
 +      
 +
 +      
 +
 +      
 +
 +      
 +
 +      
 +
 +      
 +
 +      <!--
 +  <li>
 +    <a href="http://link-to-whatever-social-network.com/user/"; 
itemprop="sameAs">
 +      <i class="fa fa-fw" aria-hidden="true"></i> Custom Social Profile Link
 +    </a>
 +  </li>
 +-->
 +    </ul>
 +  </div>
 +</div>
 +
 +  
 +  </div>
 +
 +
 +  <div class="archive">
 +    
 +      <h1 class="page__title">Archive Layout with Content</h1>
 +    
 +    <p>A variety of common markup showing how the theme styles them.</p>
 +
 +<h1 id="header-one">Header one</h1>
 +
 +<h2 id="header-two">Header two</h2>
 +
 +<h3 id="header-three">Header three</h3>
 +
 +<h4 id="header-four">Header four</h4>
 +
 +<h5 id="header-five">Header five</h5>
 +
 +<h6 id="header-six">Header six</h6>
 +
 +<h2 id="blockquotes">Blockquotes</h2>
 +
 +<p>Single line blockquote:</p>
 +
 +<blockquote>
 +  <p>Stay hungry. Stay foolish.</p>
 +</blockquote>
 +
 +<p>Multi line blockquote with a cite reference:</p>
 +
 +<blockquote>
 +  <p>People think focus means saying yes to the thing you’ve got to focus 
on. But that’s not what it means at all. It means saying no to the hundred 
other good ideas that there are. You have to pick carefully. I’m actually as 
proud of the things we haven’t done as the things I have done. Innovation is 
saying no to 1,000 things.</p>
 +</blockquote>
 +
 +<p class="small"><cite>Steve Jobs</cite> — Apple Worldwide Developers’ 
Conference, 1997</p>
 +
 +<h2 id="tables">Tables</h2>
 +
 +<table>
 +  <thead>
 +    <tr>
 +      <th>Employee</th>
 +      <th>Salary</th>
 +      <th> </th>
 +    </tr>
 +  </thead>
 +  <tbody>
 +    <tr>
 +      <td><a href="#">John Doe</a></td>
 +      <td>$1</td>
 +      <td>Because that’s all Steve Jobs needed for a salary.</td>
 +    </tr>
 +    <tr>
 +      <td><a href="#">Jane Doe</a></td>
 +      <td>$100K</td>
 +      <td>For all the blogging she does.</td>
 +    </tr>
 +    <tr>
 +      <td><a href="#">Fred Bloggs</a></td>
 +      <td>$100M</td>
 +      <td>Pictures are worth a thousand words, right? So Jane × 1,000.</td>
 +    </tr>
 +    <tr>
 +      <td><a href="#">Jane Bloggs</a></td>
 +      <td>$100B</td>
 +      <td>With hair like that?! Enough said.</td>
 +    </tr>
 +  </tbody>
 +</table>
 +
 +<table>
 +  <thead>
 +    <tr>
 +      <th style="text-align: left">Header1</th>
 +      <th style="text-align: center">Header2</th>
 +      <th style="text-align: right">Header3</th>
 +    </tr>
 +  </thead>
 +  <tbody>
 +    <tr>
 +      <td style="text-align: left">cell1</td>
 +      <td style="text-align: center">cell2</td>
 +      <td style="text-align: right">cell3</td>
 +    </tr>
 +    <tr>
 +      <td style="text-align: left">cell4</td>
 +      <td style="text-align: center">cell5</td>
 +      <td style="text-align: right">cell6</td>
 +    </tr>
 +  </tbody>
 +  <tbody>
 +    <tr>
 +      <td style="text-align: left">cell1</td>
 +      <td style="text-align: center">cell2</td>
 +      <td style="text-align: right">cell3</td>
 +    </tr>
 +    <tr>
 +      <td style="text-align: left">cell4</td>
 +      <td style="text-align: center">cell5</td>
 +      <td style="text-align: right">cell6</td>
 +    </tr>
 +  </tbody>
 +  <tfoot>
 +    <tr>
 +      <td style="text-align: left">Foot1</td>
 +      <td style="text-align: center">Foot2</td>
 +      <td style="text-align: right">Foot3</td>
 +    </tr>
 +  </tfoot>
 +</table>
 +
 +<h2 id="definition-lists">Definition Lists</h2>
 +
 +<dl>
 +  <dt>Definition List Title</dt>
 +  <dd>Definition list division.</dd>
 +  <dt>Startup</dt>
 +  <dd>A startup company or startup is a company or temporary organization 
designed to search for a repeatable and scalable business model.</dd>
 +  <dt>#dowork</dt>
 +  <dd>Coined by Rob Dyrdek and his personal body guard Christopher “Big 
Black” Boykins, “Do Work” works as a self motivator, to motivating your 
friends.</dd>
 +  <dt>Do It Live</dt>
 +  <dd>I’ll let Bill O’Reilly <a 
href="https://www.youtube.com/watch?v=O_HyZ5aW76c"; title="We'll Do It 
Live">explain</a> this one.</dd>
 +</dl>
 +
 +<h2 id="unordered-lists-nested">Unordered Lists (Nested)</h2>
 +
 +<ul>
 +  <li>List item one
 +    <ul>
 +      <li>List item one
 +        <ul>
 +          <li>List item one</li>
 +          <li>List item two</li>
 +          <li>List item three</li>
 +          <li>List item four</li>
 +        </ul>
 +      </li>
 +      <li>List item two</li>
 +      <li>List item three</li>
 +      <li>List item four</li>
 +    </ul>
 +  </li>
 +  <li>List item two</li>
 +  <li>List item three</li>
 +  <li>List item four</li>
 +</ul>
 +
 +<h2 id="ordered-list-nested">Ordered List (Nested)</h2>
 +
 +<ol>
 +  <li>List item one
 +    <ol>
 +      <li>List item one
 +        <ol>
 +          <li>List item one</li>
 +          <li>List item two</li>
 +          <li>List item three</li>
 +          <li>List item four</li>
 +        </ol>
 +      </li>
 +      <li>List item two</li>
 +      <li>List item three</li>
 +      <li>List item four</li>
 +    </ol>
 +  </li>
 +  <li>List item two</li>
 +  <li>List item three</li>
 +  <li>List item four</li>
 +</ol>
 +
 +<h2 id="buttons">Buttons</h2>
 +
 +<p>Make any link standout more when applying the <code 
class="highlighter-rouge">.btn</code> class.</p>
 +
 +<div class="language-html highlighter-rouge"><pre 
class="highlight"><code><span class="nt">&lt;a</span> <span 
class="na">href=</span><span class="s">"#"</span> <span 
class="na">class=</span><span class="s">"btn--success"</span><span 
class="nt">&gt;</span>Success Button<span class="nt">&lt;/a&gt;</span>
 +</code></pre>
 +</div>
 +
 +<p><a href="#" class="btn">Primary Button</a>
 +<a href="#" class="btn btn--success">Success Button</a>
 +<a href="#" class="btn btn--warning">Warning Button</a>
 +<a href="#" class="btn btn--danger">Danger Button</a>
 +<a href="#" class="btn btn--info">Info Button</a>
 +<a href="#" class="btn btn--inverse">Inverse Button</a>
 +<a href="#" class="btn btn--light-outline">Light Outline Button</a></p>
 +
 +<div class="language-markdown highlighter-rouge"><pre 
class="highlight"><code><span class="p">[</span><span class="nv">Primary Button 
Text</span><span class="p">](</span><span class="sx">#link</span><span 
class="p">)</span>{: .btn}
 +<span class="p">[</span><span class="nv">Success Button Text</span><span 
class="p">](</span><span class="sx">#link</span><span class="p">)</span>{: .btn 
.btn--success}
 +<span class="p">[</span><span class="nv">Warning Button Text</span><span 
class="p">](</span><span class="sx">#link</span><span class="p">)</span>{: .btn 
.btn--warning}
 +<span class="p">[</span><span class="nv">Danger Button Text</span><span 
class="p">](</span><span class="sx">#link</span><span class="p">)</span>{: .btn 
.btn--danger}
 +<span class="p">[</span><span class="nv">Info Button Text</span><span 
class="p">](</span><span class="sx">#link</span><span class="p">)</span>{: .btn 
.btn--info}
 +<span class="p">[</span><span class="nv">Inverse Button</span><span 
class="p">](</span><span class="sx">#link</span><span class="p">)</span>{: .btn 
.btn--inverse}
 +<span class="p">[</span><span class="nv">Light Outline Button</span><span 
class="p">](</span><span class="sx">#link</span><span class="p">)</span>{: .btn 
.btn--light-outline}
 +</code></pre>
 +</div>
 +
 +<p><a href="#" class="btn btn--x-large">X-Large Button</a>
 +<a href="#" class="btn btn--large">Large Button</a>
 +<a href="#" class="btn">Default Button</a>
 +<a href="#" class="btn btn--small">Small Button</a></p>
 +
 +<div class="language-markdown highlighter-rouge"><pre 
class="highlight"><code><span class="p">[</span><span class="nv">X-Large 
Button</span><span class="p">](</span><span class="sx">#link</span><span 
class="p">)</span>{: .btn .btn--x-large}
 +<span class="p">[</span><span class="nv">Large Button</span><span 
class="p">](</span><span class="sx">#link</span><span class="p">)</span>{: .btn 
.btn--large}
 +<span class="p">[</span><span class="nv">Default Button</span><span 
class="p">](</span><span class="sx">#link</span><span class="p">)</span>{: .btn}
 +<span class="p">[</span><span class="nv">Small Button</span><span 
class="p">](</span><span class="sx">#link</span><span class="p">)</span>{: .btn 
.btn--small}
 +</code></pre>
 +</div>
 +
 +<h2 id="notices">Notices</h2>
 +
 +<p class="notice"><strong>Watch out!</strong> You can also add notices by 
appending <code class="highlighter-rouge"><span class="p">{</span><span 
class="err">:</span><span class="w"> </span><span 
class="err">.notice</span><span class="p">}</span></code> to a paragraph.</p>
 +
 +<h2 id="html-tags">HTML Tags</h2>
 +
 +<h3 id="address-tag">Address Tag</h3>
 +
 +<address>
 +  1 Infinite Loop<br /> Cupertino, CA 95014<br /> United States
 +</address>
 +
 +<h3 id="anchor-tag-aka-link">Anchor Tag (aka. Link)</h3>
 +
 +<p>This is an example of a <a href="http://apple.com"; 
title="Apple">link</a>.</p>
 +
 +<h3 id="abbreviation-tag">Abbreviation Tag</h3>
 +
 +<p>The abbreviation <abbr title="Cascading Style Sheets">CSS</abbr> stands 
for “Cascading Style Sheets”.</p>
 +
 +<h3 id="cite-tag">Cite Tag</h3>
 +
 +<p>“Code is poetry.” —<cite>Automattic</cite></p>
 +
 +<h3 id="code-tag">Code Tag</h3>
 +
 +<p>You will learn later on in these tests that <code 
class="highlighter-rouge">word-wrap: break-word;</code> will be your best 
friend.</p>
 +
 +<h3 id="strike-tag">Strike Tag</h3>
 +
 +<p>This tag will let you <strike>strikeout text</strike>.</p>
 +
 +<h3 id="emphasize-tag">Emphasize Tag</h3>
 +
 +<p>The emphasize tag should <em>italicize</em> text.</p>
 +
 +<h3 id="insert-tag">Insert Tag</h3>
 +
 +<p>This tag should denote <ins>inserted</ins> text.</p>
 +
 +<h3 id="keyboard-tag">Keyboard Tag</h3>
 +
 +<p>This scarcely known tag emulates <kbd>keyboard text</kbd>, which is 
usually styled like the <code class="highlighter-rouge">&lt;code&gt;</code> 
tag.</p>
 +
 +<h3 id="preformatted-tag">Preformatted Tag</h3>
 +
 +<p>This tag styles large blocks of code.</p>
 +
 +<pre>
 +.post-title {
 +  margin: 0 0 5px;
 +  font-weight: bold;
 +  font-size: 38px;
 +  line-height: 1.2;
 +  and here's a line of some really, really, really, really long text, just to 
see how the PRE tag handles it and to find out how it overflows;
 +}
 +</pre>
 +
 +<h3 id="quote-tag">Quote Tag</h3>
 +
 +<p><q>Developers, developers, developers…</q> –Steve Ballmer</p>
 +
 +<h3 id="strong-tag">Strong Tag</h3>
 +
 +<p>This tag shows <strong>bold text</strong>.</p>
 +
 +<h3 id="subscript-tag">Subscript Tag</h3>
 +
 +<p>Getting our science styling on with H<sub>2</sub>O, which should push the 
“2” down.</p>
 +
 +<h3 id="superscript-tag">Superscript Tag</h3>
 +
 +<p>Still sticking with science and Isaac Newton’s E = MC<sup>2</sup>, which 
should lift the 2 up.</p>
 +
 +<h3 id="variable-tag">Variable Tag</h3>
 +
 +<p>This allows you to denote <var>variables</var>.</p>
 +
 +<div class="list__item">
 +  <article class="archive__item" itemscope="" 
itemtype="http://schema.org/CreativeWork";>
 +    
 +    <h2 class="archive__item-title" itemprop="headline">
 +      
 +        <a href="/docs/quick-start/" rel="permalink">Quick Start</a>
 +      
 +    </h2>
 +    
 +    <p class="archive__item-excerpt" itemprop="description">How to quickly 
install and setup Apache RocketMQ.
 +</p>
 +  </article>
 +</div>
 +
 +<div class="list__item">
 +  <article class="archive__item" itemscope="" 
itemtype="http://schema.org/CreativeWork";>
 +    
 +    <h2 class="archive__item-title" itemprop="headline">
 +      
 +        <a href="/about/team/" rel="permalink">TEAM</a>
 +      
 +    </h2>
 +    
 +    <p class="archive__item-excerpt" itemprop="description">Project team.
 +</p>
 +  </article>
 +</div>
 +
 +<div class="list__item">
 +  <article class="archive__item" itemscope="" 
itemtype="http://schema.org/CreativeWork";>
 +    
 +    <h2 class="archive__item-title" itemprop="headline">
 +      
 +        <a href="/about/contact/" rel="permalink">CONTACT</a>
 +      
 +    </h2>
 +    
 +    <p class="archive__item-excerpt" itemprop="description">Contact.
 +</p>
 +  </article>
 +</div>
 +
 +<div class="list__item">
 +  <article class="archive__item" itemscope="" 
itemtype="http://schema.org/CreativeWork";>
 +    
 +    <h2 class="archive__item-title" itemprop="headline">
 +      
 +        <a href="/docs/motivation/" rel="permalink">Motivation</a>
 +      
 +    </h2>
 +    
 +    
 +  </article>
 +</div>
 +
 +<div class="list__item">
 +  <article class="archive__item" itemscope="" 
itemtype="http://schema.org/CreativeWork";>
 +    
 +    <h2 class="archive__item-title" itemprop="headline">
 +      
 +        <a href="/docs/core-concept/" rel="permalink">Core Concept</a>
 +      
 +    </h2>
 +    
 +    
 +  </article>
 +</div>
 +
 +<div class="list__item">
 +  <article class="archive__item" itemscope="" 
itemtype="http://schema.org/CreativeWork";>
 +    
 +    <h2 class="archive__item-title" itemprop="headline">
 +      
 +        <a href="/about/rewards/" rel="permalink">REWARDS</a>
 +      
 +    </h2>
 +    
 +    <p class="archive__item-excerpt" itemprop="description">Rewards.
 +</p>
 +  </article>
 +</div>
 +
 +<div class="list__item">
 +  <article class="archive__item" itemscope="" 
itemtype="http://schema.org/CreativeWork";>
 +    
 +    <h2 class="archive__item-title" itemprop="headline">
 +      
 +        <a href="/docs/cli-admin-tool/" rel="permalink">CLI Admin Tool</a>
 +      
 +    </h2>
 +    
 +    
 +  </article>
 +</div>
 +
 +<div class="list__item">
 +  <article class="archive__item" itemscope="" 
itemtype="http://schema.org/CreativeWork";>
 +    
 +    <h2 class="archive__item-title" itemprop="headline">
 +      
 +        <a href="/docs/cluster-deployment/" rel="permalink">Cluster 
Configuration and Deployment</a>
 +      
 +    </h2>
 +    
 +    
 +  </article>
 +</div>
 +
 +<div class="list__item">
 +  <article class="archive__item" itemscope="" 
itemtype="http://schema.org/CreativeWork";>
 +    
 +    <h2 class="archive__item-title" itemprop="headline">
 +      
 +        <a href="/docs/pull-request/" rel="permalink">Best Practice in Pull 
Request</a>
 +      
 +    </h2>
 +    
 +    
 +  </article>
 +</div>
 +
 +<div class="list__item">
 +  <article class="archive__item" itemscope="" 
itemtype="http://schema.org/CreativeWork";>
 +    
 +    <h2 class="archive__item-title" itemprop="headline">
 +      
 +        <a href="/docs/code-guidelines/" rel="permalink">Coding Guidelines</a>
 +      
 +    </h2>
 +    
 +    <p class="archive__item-excerpt" itemprop="description">Apache RocketMQ 
Coding Guidelines
 +</p>
 +  </article>
 +</div>
 +
 +<div class="list__item">
 +  <article class="archive__item" itemscope="" 
itemtype="http://schema.org/CreativeWork";>
 +    
 +    <h2 class="archive__item-title" itemprop="headline">
 +      
 +        <a href="/docs/documentation/" rel="permalink">Documentation</a>
 +      
 +    </h2>
 +    
 +    <p class="archive__item-excerpt" itemprop="description">Apache RocketMQ 
Documentation
 +</p>
 +  </article>
 +</div>
 +
 +<div class="list__item">
 +  <article class="archive__item" itemscope="" 
itemtype="http://schema.org/CreativeWork";>
 +    
 +    <h2 class="archive__item-title" itemprop="headline">
 +      
 +        <a href="/docs/faq/" rel="permalink">Frequently Asked Questions</a>
 +      
 +    </h2>
 +    
 +    
 +  </article>
 +</div>
 +
 +<div class="list__item">
 +  <article class="archive__item" itemscope="" 
itemtype="http://schema.org/CreativeWork";>
 +    
 +    <h2 class="archive__item-title" itemprop="headline">
 +      
 +        <a href="/docs/release-manual" rel="permalink">Release Manual</a>
 +      
 +    </h2>
 +    
 +    <p class="archive__item-excerpt" itemprop="description">Apache RocketMQ 
Release Manual
 +</p>
 +  </article>
 +</div>
 +
 +<div class="list__item">
 +  <article class="archive__item" itemscope="" 
itemtype="http://schema.org/CreativeWork";>
 +    
 +    <h2 class="archive__item-title" itemprop="headline">
 +      
 +        <a href="/dowloading/releases/" rel="permalink">Downloading the 
Apache RocketMQ Releases</a>
 +      
 +    </h2>
 +    
 +    
 +  </article>
 +</div>
 +
 +<div class="list__item">
 +  <article class="archive__item" itemscope="" 
itemtype="http://schema.org/CreativeWork";>
 +    
 +    <h2 class="archive__item-title" itemprop="headline">
 +      
 +        <a href="/docs/roadmap/" rel="permalink">The RoadMap of Apache 
RocketMQ</a>
 +      
 +    </h2>
 +    
 +    
 +  </article>
 +</div>
 +
 +<div class="list__item">
 +  <article class="archive__item" itemscope="" 
itemtype="http://schema.org/CreativeWork";>
 +    
 +    <h2 class="archive__item-title" itemprop="headline">
 +      
++        <a href="/docs/batch-example/" rel="permalink">Batch Example</a>
++      
++    </h2>
++    
++    <p class="archive__item-excerpt" itemprop="description">How to use batch 
in Rocketmq
++</p>
++  </article>
++</div>
++
++<div class="list__item">
++  <article class="archive__item" itemscope="" 
itemtype="http://schema.org/CreativeWork";>
++    
++    <h2 class="archive__item-title" itemprop="headline">
++      
++        <a href="/docs/broadcast-example/" rel="permalink">Broadcasting</a>
++      
++    </h2>
++    
++    <p class="archive__item-excerpt" itemprop="description">How to send 
broadcast messages in Apache RocketMQ.
++</p>
++  </article>
++</div>
++
++<div class="list__item">
++  <article class="archive__item" itemscope="" 
itemtype="http://schema.org/CreativeWork";>
++    
++    <h2 class="archive__item-title" itemprop="headline">
++      
++        <a href="/docs/rmq-deployment/" rel="permalink">Deployment</a>
++      
++    </h2>
++    
++    <p class="archive__item-excerpt" itemprop="description">How to deploy the 
Apache RocketMQ.
++</p>
++  </article>
++</div>
++
++<div class="list__item">
++  <article class="archive__item" itemscope="" 
itemtype="http://schema.org/CreativeWork";>
++    
++    <h2 class="archive__item-title" itemprop="headline">
++      
++        <a href="/docs/order-example/" rel="permalink">Order Message </a>
++      
++    </h2>
++    
++    <p class="archive__item-excerpt" itemprop="description">How to send and 
receive ordered messages in Apache RocketMQ.
++</p>
++  </article>
++</div>
++
++<div class="list__item">
++  <article class="archive__item" itemscope="" 
itemtype="http://schema.org/CreativeWork";>
++    
++    <h2 class="archive__item-title" itemprop="headline">
++      
++        <a href="/docs/rmq-arc/" rel="permalink">RocketMQ Architecture</a>
++      
++    </h2>
++    
++    <p class="archive__item-excerpt" itemprop="description">The main 
Architecture of Apache RocketMQ.
++</p>
++  </article>
++</div>
++
++<div class="list__item">
++  <article class="archive__item" itemscope="" 
itemtype="http://schema.org/CreativeWork";>
++    
++    <h2 class="archive__item-title" itemprop="headline">
++      
++        <a href="/docs/schedule-example/" rel="permalink">Schedule example</a>
++      
++    </h2>
++    
++    <p class="archive__item-excerpt" itemprop="description">How to use 
schedule component to reduce pull in RocketMQ.
++</p>
++  </article>
++</div>
++
++<div class="list__item">
++  <article class="archive__item" itemscope="" 
itemtype="http://schema.org/CreativeWork";>
++    
++    <h2 class="archive__item-title" itemprop="headline">
++      
++        <a href="/docs/simple-example/" rel="permalink">Simple Message 
Example</a>
++      
++    </h2>
++    
++    <p class="archive__item-excerpt" itemprop="description">How to send 
simple message to reduce pull in RocketMQ.
++</p>
++  </article>
++</div>
++
++<div class="list__item">
++  <article class="archive__item" itemscope="" 
itemtype="http://schema.org/CreativeWork";>
++    
++    <h2 class="archive__item-title" itemprop="headline">
++      
 +        <a href="/404.html" rel="permalink">Page Not Found</a>
 +      
 +    </h2>
 +    
 +    <p class="archive__item-excerpt" itemprop="description">Page not found. 
Your pixels are in another canvas.
 +</p>
 +  </article>
 +</div>
 +
 +<div class="list__item">
 +  <article class="archive__item" itemscope="" 
itemtype="http://schema.org/CreativeWork";>
 +    
 +    <h2 class="archive__item-title" itemprop="headline">
 +      
 +        <a href="/about/" rel="permalink">About</a>
 +      
 +    </h2>
 +    
 +    <p class="archive__item-excerpt" itemprop="description">Anything about 
RocketMQ.
 +</p>
 +  </article>
 +</div>
 +
 +<div class="list__item">
 +  <article class="archive__item" itemscope="" 
itemtype="http://schema.org/CreativeWork";>
 +    
 +    <h2 class="archive__item-title" itemprop="headline">
 +      
 +        <a href="/archive-layout-with-content/" rel="permalink">Archive 
Layout with Content</a>
 +      
 +    </h2>
 +    
 +    
 +  </article>
 +</div>
 +
 +<div class="list__item">
 +  <article class="archive__item" itemscope="" 
itemtype="http://schema.org/CreativeWork";>
 +    
 +    <h2 class="archive__item-title" itemprop="headline">
 +      
 +        <a href="/docs/best-practice-broker/" rel="permalink">Best Practice 
For Broker</a>
 +      
 +    </h2>
 +    
 +    
 +  </article>
 +</div>
 +
 +<div class="list__item">
 +  <article class="archive__item" itemscope="" 
itemtype="http://schema.org/CreativeWork";>
 +    
 +    <h2 class="archive__item-title" itemprop="headline">
 +      
 +        <a href="/docs/best-practice-consumer/" rel="permalink">Best Practice 
For Consumer</a>
 +      
 +    </h2>
 +    
 +    
 +  </article>
 +</div>
 +
 +<div class="list__item">
 +  <article class="archive__item" itemscope="" 
itemtype="http://schema.org/CreativeWork";>
 +    
 +    <h2 class="archive__item-title" itemprop="headline">
 +      
 +        <a href="/docs/best-practice-namesvr/" rel="permalink">Best Practice 
For NameServer</a>
 +      
 +    </h2>
 +    
 +    
 +  </article>
 +</div>
 +
 +<div class="list__item">
 +  <article class="archive__item" itemscope="" 
itemtype="http://schema.org/CreativeWork";>
 +    
 +    <h2 class="archive__item-title" itemprop="headline">
 +      
 +        <a href="/docs/best-practice-producer/" rel="permalink">Best Practice 
For Producer</a>
 +      
 +    </h2>
 +    
 +    
 +  </article>
 +</div>
 +
 +<div class="list__item">
 +  <article class="archive__item" itemscope="" 
itemtype="http://schema.org/CreativeWork";>
 +    
 +    <h2 class="archive__item-title" itemprop="headline">
 +      
 +        <a href="/categories/" rel="permalink">Posts by Category</a>
 +      
 +    </h2>
 +    
 +    
 +  </article>
 +</div>
 +
 +<div class="list__item">
 +  <article class="archive__item" itemscope="" 
itemtype="http://schema.org/CreativeWork";>
 +    
 +    <h2 class="archive__item-title" itemprop="headline">
 +      
 +        <a href="/collection-archive/" rel="permalink">Posts by Collection</a>
 +      
 +    </h2>
 +    
 +    
 +  </article>
 +</div>
 +
 +<div class="list__item">
 +  <article class="archive__item" itemscope="" 
itemtype="http://schema.org/CreativeWork";>
 +    
 +    <h2 class="archive__item-title" itemprop="headline">
 +      
 +        <a href="/community/" rel="permalink">Apache RocketMQ</a>
 +      
 +    </h2>
 +    
 +    <p class="archive__item-excerpt" itemprop="description">Apache 
RocketMQ™ is an open source distributed messaging and streaming data 
platform. Latest release v4.0.0-incubating  
 +</p>
 +  </article>
 +</div>
 +
 +<div class="list__item">
 +  <article class="archive__item" itemscope="" 
itemtype="http://schema.org/CreativeWork";>
 +    
 +    <h2 class="archive__item-title" itemprop="headline">
 +      
 +        <a href="/customer/" rel="permalink">Apache RocketMQ</a>
 +      
 +    </h2>
 +    
 +    <p class="archive__item-excerpt" itemprop="description">Apache 
RocketMQ™ is an open source distributed messaging and streaming data 
platform. Latest release v4.0.0-incubating  
 +</p>
 +  </article>
 +</div>
 +
 +<div class="list__item">
 +  <article class="archive__item" itemscope="" 
itemtype="http://schema.org/CreativeWork";>
 +    
 +    <h2 class="archive__item-title" itemprop="headline">
 +      
 +        <a href="/" rel="permalink"></a>
 +      
 +    </h2>
 +    
 +    <p class="archive__item-excerpt" itemprop="description">Apache 
RocketMQ™ is an open source distributed messaging and streaming data 
platform. Latest release v4.0.0-incubating  
 +</p>
 +  </article>
 +</div>
 +
 +<div class="list__item">
 +  <article class="archive__item" itemscope="" 
itemtype="http://schema.org/CreativeWork";>
 +    
 +    <h2 class="archive__item-title" itemprop="headline">
 +      
 +        <a href="/assets/css/main.css" rel="permalink"></a>
 +      
 +    </h2>
 +    
 +    
 +  </article>
 +</div>
 +
 +<div class="list__item">
 +  <article class="archive__item" itemscope="" 
itemtype="http://schema.org/CreativeWork";>
 +    
 +    <h2 class="archive__item-title" itemprop="headline">
 +      
 +        <a href="/tags/" rel="permalink">Posts by Tags</a>
 +      
 +    </h2>
 +    
 +    
 +  </article>
 +</div>
 +
 +<div class="list__item">
 +  <article class="archive__item" itemscope="" 
itemtype="http://schema.org/CreativeWork";>
 +    
 +    <h2 class="archive__item-title" itemprop="headline">
 +      
 +        <a href="/year-archive/" rel="permalink">Read and Comment</a>
 +      
 +    </h2>
 +    
 +    
 +  </article>
 +</div>
 +
 +<div class="list__item">
 +  <article class="archive__item" itemscope="" 
itemtype="http://schema.org/CreativeWork";>
 +    
 +    <h2 class="archive__item-title" itemprop="headline">
 +      
 +        <a href="/feed.xml" rel="permalink"></a>
 +      
 +    </h2>
 +    
 +    
 +  </article>
 +</div>
 +
 +<div class="list__item">
 +  <article class="archive__item" itemscope="" 
itemtype="http://schema.org/CreativeWork";>
 +    
 +    <h2 class="archive__item-title" itemprop="headline">
 +      
 +        <a href="/feed.xslt.xml" rel="permalink"></a>
 +      
 +    </h2>
 +    
 +    
 +  </article>
 +</div>
 +
 +  </div>
 +</div>
 +
 +    <div class="page__footer">
 +      <footer>
 +        <!-- start custom footer snippets -->
 +
 +<!-- end custom footer snippets -->
 +        <style type="text/css">
 +  div.columns   { float: left; margin-left: 10px;}
 +  div.clear     { clear: both; } 
 +</style>
 +<div>
 +  <div class="columns">
 +    <a href="https://www.apache.org/";><img 
src="/assets/images/feather-small.gif" alt="Apache Software Foundation" 
style="height: 88px !important" /></a>
 +  </div>
 +  <div class="columns" style="width: 80%">
 +    <div class="page__footer-follow">
 +      <ul class="social-icons">
 +        
 +          <li><strong>Follow:</strong></li>
 +        
 +        
 +          <li><a href="https://twitter.com/ApacheRocketMQ";><i class="fa fa-fw 
fa-twitter-square" aria-hidden="true"></i> Twitter</a></li>
 +        
 +        
 +        
 +          <li><a href="http://github.com/apache/incubator-rocketmq";><i 
class="fa fa-fw fa-github" aria-hidden="true"></i> GitHub</a></li>
 +        
 +        
 +        <li><a href="/feed.xml"><i class="fa fa-fw fa-rss-square" 
aria-hidden="true"></i> Feed</a></li>
 +      </ul>
 +    </div>
 +
 +    <div class="page__footer-copyright">Copyright &copy; 2017 <a 
href="http://www.apache.org/";>The Apache Software Foundation</a>. All Rights 
Reserved.</div>
 +  </div>
 +</div>
 +<div class="clear"></div>
 +      </footer>
 +    </div>
 +
 +    <script src="/assets/js/main.min.js"></script>
 +
 +
 +
 +
 +  <script>
 +  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
 +  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new 
Date();a=s.createElement(o),
 +  
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
 +  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
 +
 +  ga('create', 'UA-89603173-1', 'auto');
 +  ga('send', 'pageview');
 +</script>
 +
 +<script>
 +var _hmt = _hmt || [];
 +(function() {
 +  var hm = document.createElement("script");
 +  hm.src = "https://hm.baidu.com/hm.js?36428f2b841d08e7405724cbf7f860d2";;
 +  var s = document.getElementsByTagName("script")[0]; 
 +  s.parentNode.insertBefore(hm, s);
 +})();
 +</script>
 +
 +
 +
 +
 +  </body>
 +</html>

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/ac7796b8/content/assets/images/about/rshtykh.png
----------------------------------------------------------------------
diff --cc content/assets/images/about/rshtykh.png
index 0000000,0000000..bc48883
new file mode 100644
Binary files differ

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/ac7796b8/content/assets/images/rmq-basic-arc.png
----------------------------------------------------------------------
diff --cc content/assets/images/rmq-basic-arc.png
index 0000000,0000000..33927be
new file mode 100644
Binary files differ

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/ac7796b8/content/assets/images/rmq-basic-component.png
----------------------------------------------------------------------
diff --cc content/assets/images/rmq-basic-component.png
index 0000000,0000000..4cdc306
new file mode 100644
Binary files differ

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/ac7796b8/content/collection-archive/index.html
----------------------------------------------------------------------
diff --cc content/collection-archive/index.html
index fa2850e,0000000..7b0a59f
mode 100644,000000..100644
--- a/content/collection-archive/index.html
+++ b/content/collection-archive/index.html
@@@ -1,829 -1,0 +1,975 @@@
 +<!doctype html>
 +<html lang="en" class="no-js">
 +  <head>
 +    <meta charset="utf-8">
 +
 +<!-- begin SEO -->
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +<title>Posts by Collection - Apache RocketMQ</title>
 +
 +
 +
 +
 +<meta name="description" content="The homepage of RocketMQ.">
 +
 +
 +
 +
 +<meta property="og:locale" content="en">
 +<meta property="og:site_name" content="Apache RocketMQ">
 +<meta property="og:title" content="Posts by Collection">
 +
 +
 +
 +
 +
 +
 +  <meta name="twitter:site" content="@ApacheRocketMQ">
 +  <meta name="twitter:title" content="Posts by Collection">
 +  <meta name="twitter:description" content="The homepage of RocketMQ.">
 +  <meta name="twitter:url" content="">
 +
 +  
 +    <meta name="twitter:card" content="summary">
 +    
 +  
 +
 +  
 +
 +
 +
 +  
 +
 +  
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +  <script type="application/ld+json">
 +    {
 +      "@context" : "http://schema.org";,
 +      "@type" : "Person",
 +      "name" : "Apache RocketMQ",
 +      "url" : null,
 +      "sameAs" : null
 +    }
 +  </script>
 +
 +
 +
 +  <meta name="google-site-verification" 
content="aand0XZkSGsziuC-UPD4ZJniFD0m0JhGx6820y2mAQY" />
 +
 +
 +  <meta name="baidu-site-verification" content="wD06EbDRkQ" />
 +
 +
 +
 +
 +<!-- end SEO -->
 +
 +
 +<link href="/feed.xml" type="application/atom+xml" rel="alternate" 
title="Apache RocketMQ Feed">
 +
 +<!-- http://t.co/dKP3o1e -->
 +<meta name="HandheldFriendly" content="True">
 +<meta name="MobileOptimized" content="320">
 +<meta name="viewport" content="width=device-width, initial-scale=1.0">
 +
 +<script>
 +  document.documentElement.className = 
document.documentElement.className.replace(/\bno-js\b/g, '') + ' js ';
 +</script>
 +
 +<!-- For all browsers -->
 +<link rel="stylesheet" href="/assets/css/main.css">
 +
 +<meta http-equiv="cleartype" content="on">
 +    <!-- start custom head snippets -->
 +
 +<!-- insert favicons. use http://realfavicongenerator.net/ -->
 +
 +<!-- end custom head snippets -->
 +  </head>
 +
 +  <body class="layout--archive">
 +
 +    <!--[if lt IE 9]>
 +<div class="notice--danger align-center" style="margin: 0;">You are using an 
<strong>outdated</strong> browser. Please <a 
href="http://browsehappy.com/";>upgrade your browser</a> to improve your 
experience.</div>
 +<![endif]-->
 +    <div class="masthead">
 +  <div class="masthead__inner-wrap">
 +    <div class="masthead__menu">
 +      <nav id="site-nav" class="greedy-nav">
 +        <button><div class="navicon"></div></button>
 +        <ul class="visible-links">
 +          <li class="masthead__menu-item masthead__menu-item--lg"><a 
href="/">Apache RocketMQ</a></li>
 +          
 +            
 +            <li class="masthead__menu-item"><a 
href="/docs/quick-start/">Documentation</a></li>
 +          
 +            
 +            <li class="masthead__menu-item"><a 
href="/year-archive/">Blog</a></li>
 +          
 +            
 +            <li class="masthead__menu-item"><a 
href="/community/">Community</a></li>
 +          
 +            
 +            <li class="masthead__menu-item"><a 
href="/customer/">Customer</a></li>
 +          
 +            
 +            <li class="masthead__menu-item"><a 
href="/about/team/">About</a></li>
 +          
 +        </ul>
 +        <ul class="hidden-links hidden"></ul>
 +      </nav>
 +    </div>
 +  </div>
 +</div>
 +
 +    
 +
 +
 +
 +<div id="main" role="main">
 +  
 +  <div class="sidebar sticky">
 +  
 +
 +<div itemscope itemtype="http://schema.org/Person";>
 +
 +  
 +    <div class="author__avatar">
 +      
 +        <img src="/assets/images/rmq-logo.png" class="author__avatar" alt="" 
itemprop="image">
 +      
 +    </div>
 +  
 +
 +  <div class="author__content">
 +    <h3 class="author__name" itemprop="name"></h3>
 +    
 +      <p class="author__bio" itemprop="description">
 +        A fast, low latency, reliable, scalable, distributed MOM.
 +      </p>
 +    
 +  </div>
 +
 +  <div class="author__urls-wrapper">
 +    <button class="btn btn--inverse">Follow</button>
 +    <ul class="author__urls social-icons">
 +      
 +        <li itemprop="homeLocation" itemscope 
itemtype="http://schema.org/Place";>
 +          <i class="fa fa-fw fa-map-marker" aria-hidden="true"></i> <span 
itemprop="name">Hangzhou, China</span>
 +        </li>
 +      
 +
 +      
 +        <li>
 +          <a 
href="http://incubator.staging.apache.org/projects/rocketmq.html"; 
itemprop="url">
 +            <i class="fa fa-fw fa-chain" aria-hidden="true"></i> Website
 +          </a>
 +        </li>
 +      
 +
 +      
 +        <li>
 +          <a href="mailto:[email protected]";>
 +            <meta itemprop="email" 
content="[email protected]" />
 +            <i class="fa fa-fw fa-envelope-square" aria-hidden="true"></i> 
Email
 +          </a>
 +        </li>
 +      
 +
 +      
 +
 +      
 +        <li>
 +          <a href="https://twitter.com/ApacheRocketMQ"; itemprop="sameAs">
 +            <i class="fa fa-fw fa-twitter-square" aria-hidden="true"></i> 
Twitter
 +          </a>
 +        </li>
 +      
 +
 +      
 +
 +      
 +
 +      
 +
 +      
 +
 +      
 +
 +      
 +
 +      
 +
 +      
 +        <li>
 +          <a href="https://github.com/apache/incubator-rocketmq"; 
itemprop="sameAs">
 +            <i class="fa fa-fw fa-github" aria-hidden="true"></i> GitHub
 +          </a>
 +        </li>
 +      
 +
 +      
 +        <li>
 +          <a href="https://www.stackoverflow.com/questions/tagged/rocketmq"; 
itemprop="sameAs">
 +            <i class="fa fa-fw fa-stack-overflow" aria-hidden="true"></i> 
Stackoverflow
 +          </a>
 +        </li>
 +      
 +
 +      
 +        <li>
 +          <a href="https://www.quora.com/topic/RocketMQ"; itemprop="sameAs">
 +            <i class="fa fa-fw" aria-hidden="true"><strong>Q</strong></i> 
Quora
 +          </a>
 +        </li>
 +      
 +
 +      
 +
 +      
 +
 +      
 +
 +      
 +
 +      
 +
 +      
 +
 +      
 +
 +      
 +
 +      
 +
 +      
 +
 +      
 +
 +      <!--
 +  <li>
 +    <a href="http://link-to-whatever-social-network.com/user/"; 
itemprop="sameAs">
 +      <i class="fa fa-fw" aria-hidden="true"></i> Custom Social Profile Link
 +    </a>
 +  </li>
 +-->
 +    </ul>
 +  </div>
 +</div>
 +
 +  
 +  </div>
 +
 +
 +  <div class="archive">
 +    
 +      <h1 class="page__title">Posts by Collection</h1>
 +    
 +    
 +
 +
 +  
 +    
 +    
 +      <h2 id="about" class="archive__subtitle">about</h2>
 +      
 +    
 +  
 +  
 +    
 +      
 +
 +
 +
 +<div class="list__item">
 +  <article class="archive__item" itemscope 
itemtype="http://schema.org/CreativeWork";>
 +    
 +    <h2 class="archive__item-title" itemprop="headline">
 +      
 +        <a href="/about/team/" rel="permalink">TEAM
 +</a>
 +      
 +    </h2>
 +    
 +    <p class="archive__item-excerpt" itemprop="description">Project team.
 +</p>
 +  </article>
 +</div>
 +    
 +  
 +    
 +      
 +
 +
 +
 +<div class="list__item">
 +  <article class="archive__item" itemscope 
itemtype="http://schema.org/CreativeWork";>
 +    
 +    <h2 class="archive__item-title" itemprop="headline">
 +      
 +        <a href="/about/contact/" rel="permalink">CONTACT
 +</a>
 +      
 +    </h2>
 +    
 +    <p class="archive__item-excerpt" itemprop="description">Contact.
 +</p>
 +  </article>
 +</div>
 +    
 +  
 +    
 +      
 +
 +
 +
 +<div class="list__item">
 +  <article class="archive__item" itemscope 
itemtype="http://schema.org/CreativeWork";>
 +    
 +    <h2 class="archive__item-title" itemprop="headline">
 +      
 +        <a href="/about/rewards/" rel="permalink">REWARDS
 +</a>
 +      
 +    </h2>
 +    
 +    <p class="archive__item-excerpt" itemprop="description">Rewards.
 +</p>
 +  </article>
 +</div>
 +    
 +  
 +
 +  
 +    
 +    
 +      <h2 id="docs" class="archive__subtitle">docs</h2>
 +      
 +    
 +  
 +  
 +    
 +      
 +
 +
 +
 +<div class="list__item">
 +  <article class="archive__item" itemscope 
itemtype="http://schema.org/CreativeWork";>
 +    
 +    <h2 class="archive__item-title" itemprop="headline">
 +      
 +        <a href="/docs/quick-start/" rel="permalink">Quick Start
 +</a>
 +      
 +    </h2>
 +    
 +    <p class="archive__item-excerpt" itemprop="description">How to quickly 
install and setup Apache RocketMQ.
 +</p>
 +  </article>
 +</div>
 +    
 +  
 +    
 +      
 +
 +
 +
 +<div class="list__item">
 +  <article class="archive__item" itemscope 
itemtype="http://schema.org/CreativeWork";>
 +    
 +    <h2 class="archive__item-title" itemprop="headline">
 +      
 +        <a href="/docs/motivation/" rel="permalink">Motivation
 +</a>
 +      
 +    </h2>
 +    
 +    <p class="archive__item-excerpt" itemprop="description">In the early 
stages, we constructed our distributed messaging middleware on the basis of 
ActiveMQ 5.x(less than 5.3). Our international business uses it for ...</p>
 +  </article>
 +</div>
 +    
 +  
 +    
 +      
 +
 +
 +
 +<div class="list__item">
 +  <article class="archive__item" itemscope 
itemtype="http://schema.org/CreativeWork";>
 +    
 +    <h2 class="archive__item-title" itemprop="headline">
 +      
 +        <a href="/docs/core-concept/" rel="permalink">Core Concept
 +</a>
 +      
 +    </h2>
 +    
 +    <p class="archive__item-excerpt" itemprop="description">
 +
 +</p>
 +  </article>
 +</div>
 +    
 +  
 +    
 +      
 +
 +
 +
 +<div class="list__item">
 +  <article class="archive__item" itemscope 
itemtype="http://schema.org/CreativeWork";>
 +    
 +    <h2 class="archive__item-title" itemprop="headline">
 +      
 +        <a href="/docs/cli-admin-tool/" rel="permalink">CLI Admin Tool
 +</a>
 +      
 +    </h2>
 +    
 +    <p class="archive__item-excerpt" itemprop="description">RocketMQ provides 
a CLI admin tool belt to query, manage and diagnose various issues.
 +
 +</p>
 +  </article>
 +</div>
 +    
 +  
 +    
 +      
 +
 +
 +
 +<div class="list__item">
 +  <article class="archive__item" itemscope 
itemtype="http://schema.org/CreativeWork";>
 +    
 +    <h2 class="archive__item-title" itemprop="headline">
 +      
 +        <a href="/docs/cluster-deployment/" rel="permalink">Cluster 
Configuration and Deployment
 +</a>
 +      
 +    </h2>
 +    
 +    <p class="archive__item-excerpt" itemprop="description">Prerequisite
 +
 +</p>
 +  </article>
 +</div>
 +    
 +  
 +    
 +      
 +
 +
 +
 +<div class="list__item">
 +  <article class="archive__item" itemscope 
itemtype="http://schema.org/CreativeWork";>
 +    
 +    <h2 class="archive__item-title" itemprop="headline">
 +      
 +        <a href="/docs/pull-request/" rel="permalink">Best Practice in Pull 
Request
 +</a>
 +      
 +    </h2>
 +    
 +    <p class="archive__item-excerpt" itemprop="description">This page guides 
you through Git setup and contribution process.
 +
 +</p>
 +  </article>
 +</div>
 +    
 +  
 +    
 +      
 +
 +
 +
 +<div class="list__item">
 +  <article class="archive__item" itemscope 
itemtype="http://schema.org/CreativeWork";>
 +    
 +    <h2 class="archive__item-title" itemprop="headline">
 +      
 +        <a href="/docs/code-guidelines/" rel="permalink">Coding Guidelines
 +</a>
 +      
 +    </h2>
 +    
 +    <p class="archive__item-excerpt" itemprop="description">Apache RocketMQ 
Coding Guidelines
 +</p>
 +  </article>
 +</div>
 +    
 +  
 +    
 +      
 +
 +
 +
 +<div class="list__item">
 +  <article class="archive__item" itemscope 
itemtype="http://schema.org/CreativeWork";>
 +    
 +    <h2 class="archive__item-title" itemprop="headline">
 +      
 +        <a href="/docs/documentation/" rel="permalink">Documentation
 +</a>
 +      
 +    </h2>
 +    
 +    <p class="archive__item-excerpt" itemprop="description">Apache RocketMQ 
Documentation
 +</p>
 +  </article>
 +</div>
 +    
 +  
 +    
 +      
 +
 +
 +
 +<div class="list__item">
 +  <article class="archive__item" itemscope 
itemtype="http://schema.org/CreativeWork";>
 +    
 +    <h2 class="archive__item-title" itemprop="headline">
 +      
 +        <a href="/docs/faq/" rel="permalink">Frequently Asked Questions
 +</a>
 +      
 +    </h2>
 +    
 +    <p class="archive__item-excerpt" itemprop="description">The following 
questions are frequently asked with regard to the RocketMQ project in general. 
If you have further questions, make sure to consult the document...</p>
 +  </article>
 +</div>
 +    
 +  
 +    
 +      
 +
 +
 +
 +<div class="list__item">
 +  <article class="archive__item" itemscope 
itemtype="http://schema.org/CreativeWork";>
 +    
 +    <h2 class="archive__item-title" itemprop="headline">
 +      
 +        <a href="/docs/release-manual" rel="permalink">Release Manual
 +</a>
 +      
 +    </h2>
 +    
 +    <p class="archive__item-excerpt" itemprop="description">Apache RocketMQ 
Release Manual
 +</p>
 +  </article>
 +</div>
 +    
 +  
 +    
 +      
 +
 +
 +
 +<div class="list__item">
 +  <article class="archive__item" itemscope 
itemtype="http://schema.org/CreativeWork";>
 +    
 +    <h2 class="archive__item-title" itemprop="headline">
 +      
 +        <a href="/dowloading/releases/" rel="permalink">Downloading the 
Apache RocketMQ Releases
 +</a>
 +      
 +    </h2>
 +    
 +    <p class="archive__item-excerpt" itemprop="description">Use the links 
below to download the Apache RocketMQ Releases, the latest release is 
4.0.0-incubating.
 +
 +</p>
 +  </article>
 +</div>
 +    
 +  
 +    
 +      
 +
 +
 +
 +<div class="list__item">
 +  <article class="archive__item" itemscope 
itemtype="http://schema.org/CreativeWork";>
 +    
 +    <h2 class="archive__item-title" itemprop="headline">
 +      
 +        <a href="/docs/roadmap/" rel="permalink">The RoadMap of Apache 
RocketMQ
 +</a>
 +      
 +    </h2>
 +    
 +    <p class="archive__item-excerpt" 
itemprop="description">4.1.0~4.3.0-incubating RoadMap:
 +
 +</p>
 +  </article>
 +</div>
 +    
 +  
 +    
 +      
 +
 +
 +
 +<div class="list__item">
 +  <article class="archive__item" itemscope 
itemtype="http://schema.org/CreativeWork";>
 +    
 +    <h2 class="archive__item-title" itemprop="headline">
 +      
++        <a href="/docs/batch-example/" rel="permalink">Batch Example
++</a>
++      
++    </h2>
++    
++    <p class="archive__item-excerpt" itemprop="description">How to use batch 
in Rocketmq
++</p>
++  </article>
++</div>
++    
++  
++    
++      
++
++
++
++<div class="list__item">
++  <article class="archive__item" itemscope 
itemtype="http://schema.org/CreativeWork";>
++    
++    <h2 class="archive__item-title" itemprop="headline">
++      
++        <a href="/docs/broadcast-example/" rel="permalink">Broadcasting
++</a>
++      
++    </h2>
++    
++    <p class="archive__item-excerpt" itemprop="description">How to send 
broadcast messages in Apache RocketMQ.
++</p>
++  </article>
++</div>
++    
++  
++    
++      
++
++
++
++<div class="list__item">
++  <article class="archive__item" itemscope 
itemtype="http://schema.org/CreativeWork";>
++    
++    <h2 class="archive__item-title" itemprop="headline">
++      
++        <a href="/docs/rmq-deployment/" rel="permalink">Deployment
++</a>
++      
++    </h2>
++    
++    <p class="archive__item-excerpt" itemprop="description">How to deploy the 
Apache RocketMQ.
++</p>
++  </article>
++</div>
++    
++  
++    
++      
++
++
++
++<div class="list__item">
++  <article class="archive__item" itemscope 
itemtype="http://schema.org/CreativeWork";>
++    
++    <h2 class="archive__item-title" itemprop="headline">
++      
++        <a href="/docs/order-example/" rel="permalink">Order Message
++</a>
++      
++    </h2>
++    
++    <p class="archive__item-excerpt" itemprop="description">How to send and 
receive ordered messages in Apache RocketMQ.
++</p>
++  </article>
++</div>
++    
++  
++    
++      
++
++
++
++<div class="list__item">
++  <article class="archive__item" itemscope 
itemtype="http://schema.org/CreativeWork";>
++    
++    <h2 class="archive__item-title" itemprop="headline">
++      
++        <a href="/docs/rmq-arc/" rel="permalink">RocketMQ Architecture
++</a>
++      
++    </h2>
++    
++    <p class="archive__item-excerpt" itemprop="description">The main 
Architecture of Apache RocketMQ.
++</p>
++  </article>
++</div>
++    
++  
++    
++      
++
++
++
++<div class="list__item">
++  <article class="archive__item" itemscope 
itemtype="http://schema.org/CreativeWork";>
++    
++    <h2 class="archive__item-title" itemprop="headline">
++      
++        <a href="/docs/schedule-example/" rel="permalink">Schedule example
++</a>
++      
++    </h2>
++    
++    <p class="archive__item-excerpt" itemprop="description">How to use 
schedule component to reduce pull in RocketMQ.
++</p>
++  </article>
++</div>
++    
++  
++    
++      
++
++
++
++<div class="list__item">
++  <article class="archive__item" itemscope 
itemtype="http://schema.org/CreativeWork";>
++    
++    <h2 class="archive__item-title" itemprop="headline">
++      
++        <a href="/docs/simple-example/" rel="permalink">Simple Message Example
++</a>
++      
++    </h2>
++    
++    <p class="archive__item-excerpt" itemprop="description">How to send 
simple message to reduce pull in RocketMQ.
++</p>
++  </article>
++</div>
++    
++  
++    
++      
++
++
++
++<div class="list__item">
++  <article class="archive__item" itemscope 
itemtype="http://schema.org/CreativeWork";>
++    
++    <h2 class="archive__item-title" itemprop="headline">
++      
 +        <a href="/docs/best-practice-broker/" rel="permalink">Best Practice 
For Broker
 +</a>
 +      
 +    </h2>
 +    
 +    <p class="archive__item-excerpt" itemprop="description">Some useful tips 
for users.
 +
 +</p>
 +  </article>
 +</div>
 +    
 +  
 +    
 +      
 +
 +
 +
 +<div class="list__item">
 +  <article class="archive__item" itemscope 
itemtype="http://schema.org/CreativeWork";>
 +    
 +    <h2 class="archive__item-title" itemprop="headline">
 +      
 +        <a href="/docs/best-practice-consumer/" rel="permalink">Best Practice 
For Consumer
 +</a>
 +      
 +    </h2>
 +    
 +    <p class="archive__item-excerpt" itemprop="description">Some useful tips 
for users.
 +
 +</p>
 +  </article>
 +</div>
 +    
 +  
 +    
 +      
 +
 +
 +
 +<div class="list__item">
 +  <article class="archive__item" itemscope 
itemtype="http://schema.org/CreativeWork";>
 +    
 +    <h2 class="archive__item-title" itemprop="headline">
 +      
 +        <a href="/docs/best-practice-namesvr/" rel="permalink">Best Practice 
For NameServer
 +</a>
 +      
 +    </h2>
 +    
-     <p class="archive__item-excerpt" itemprop="description">Some useful tips 
for users.
- 
- </p>
++    <p class="archive__item-excerpt" itemprop="description">In Apache 
RocketMQ, name servers are designed to coordinate each component of the 
distributed system
++and fulfill much of this responsibility through managing...</p>
 +  </article>
 +</div>
 +    
 +  
 +    
 +      
 +
 +
 +
 +<div class="list__item">
 +  <article class="archive__item" itemscope 
itemtype="http://schema.org/CreativeWork";>
 +    
 +    <h2 class="archive__item-title" itemprop="headline">
 +      
 +        <a href="/docs/best-practice-producer/" rel="permalink">Best Practice 
For Producer
 +</a>
 +      
 +    </h2>
 +    
 +    <p class="archive__item-excerpt" itemprop="description">Some useful tips 
for users.
 +
 +</p>
 +  </article>
 +</div>
 +    
 +  
 +
 +  
 +    
 +    
 +      <h2 id="pets" class="archive__subtitle">pets</h2>
 +      
 +    
 +  
 +  
 +
 +  
 +    
 +    
 +      <h2 id="portfolio" class="archive__subtitle">portfolio</h2>
 +      
 +    
 +  
 +  
 +
 +  
 +  
 +    
 +  
 +    
 +  
 +    
 +  
 +    
 +  
 +    
 +  
 +    
 +  
 +    
 +  
 +
 +  
 +    
 +    
 +      <h2 id="recipes" class="archive__subtitle">recipes</h2>
 +      
 +    
 +  
 +  
 +
 +  </div>
 +</div>
 +
 +    <div class="page__footer">
 +      <footer>
 +        <!-- start custom footer snippets -->
 +
 +<!-- end custom footer snippets -->
 +        <style type="text/css">
 +  div.columns   { float: left; margin-left: 10px;}
 +  div.clear     { clear: both; } 
 +</style>
 +<div>
 +  <div class="columns">
 +    <a href="https://www.apache.org/";><img 
src="/assets/images/feather-small.gif" alt="Apache Software Foundation" 
style="height: 88px !important" /></a>
 +  </div>
 +  <div class="columns" style="width: 80%">
 +    <div class="page__footer-follow">
 +      <ul class="social-icons">
 +        
 +          <li><strong>Follow:</strong></li>
 +        
 +        
 +          <li><a href="https://twitter.com/ApacheRocketMQ";><i class="fa fa-fw 
fa-twitter-square" aria-hidden="true"></i> Twitter</a></li>
 +        
 +        
 +        
 +          <li><a href="http://github.com/apache/incubator-rocketmq";><i 
class="fa fa-fw fa-github" aria-hidden="true"></i> GitHub</a></li>
 +        
 +        
 +        <li><a href="/feed.xml"><i class="fa fa-fw fa-rss-square" 
aria-hidden="true"></i> Feed</a></li>
 +      </ul>
 +    </div>
 +
 +    <div class="page__footer-copyright">Copyright &copy; 2017 <a 
href="http://www.apache.org/";>The Apache Software Foundation</a>. All Rights 
Reserved.</div>
 +  </div>
 +</div>
 +<div class="clear"></div>
 +      </footer>
 +    </div>
 +
 +    <script src="/assets/js/main.min.js"></script>
 +
 +
 +
 +
 +  <script>
 +  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
 +  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new 
Date();a=s.createElement(o),
 +  
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
 +  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
 +
 +  ga('create', 'UA-89603173-1', 'auto');
 +  ga('send', 'pageview');
 +</script>
 +
 +<script>
 +var _hmt = _hmt || [];
 +(function() {
 +  var hm = document.createElement("script");
 +  hm.src = "https://hm.baidu.com/hm.js?36428f2b841d08e7405724cbf7f860d2";;
 +  var s = document.getElementsByTagName("script")[0]; 
 +  s.parentNode.insertBefore(hm, s);
 +})();
 +</script>
 +
 +
 +
 +
 +  </body>
 +</html>

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/ac7796b8/content/docs/batch-example/index.html
----------------------------------------------------------------------
diff --cc content/docs/batch-example/index.html
index 0000000,0000000..9cd89ad
new file mode 100644
--- /dev/null
+++ b/content/docs/batch-example/index.html
@@@ -1,0 -1,0 +1,696 @@@
++<!doctype html>
++<html lang="en" class="no-js">
++  <head>
++    <meta charset="utf-8">
++
++<!-- begin SEO -->
++
++
++
++
++
++
++
++
++
++<title>Batch Example - Apache RocketMQ</title>
++
++
++
++
++<meta name="description" content="How to use batch in Rocketmq">
++
++
++
++
++<meta property="og:locale" content="en">
++<meta property="og:site_name" content="Apache RocketMQ">
++<meta property="og:title" content="Batch Example">
++
++
++
++
++  <meta property="og:description" content="How to use batch in Rocketmq">
++
++
++
++  <meta name="twitter:site" content="@ApacheRocketMQ">
++  <meta name="twitter:title" content="Batch Example">
++  <meta name="twitter:description" content="How to use batch in Rocketmq">
++  <meta name="twitter:url" content="">
++
++  
++    <meta name="twitter:card" content="summary">
++    
++  
++
++  
++
++
++
++  
++
++  
++
++
++
++
++
++  <meta property="og:type" content="article">
++  <meta property="article:published_time" content="2017-04-25T01:02:11+08:00">
++
++
++
++
++
++
++
++
++  <script type="application/ld+json">
++    {
++      "@context" : "http://schema.org";,
++      "@type" : "Person",
++      "name" : "Apache RocketMQ",
++      "url" : null,
++      "sameAs" : null
++    }
++  </script>
++
++
++
++  <meta name="google-site-verification" 
content="aand0XZkSGsziuC-UPD4ZJniFD0m0JhGx6820y2mAQY" />
++
++
++  <meta name="baidu-site-verification" content="wD06EbDRkQ" />
++
++
++
++
++<!-- end SEO -->
++
++
++<link href="/feed.xml" type="application/atom+xml" rel="alternate" 
title="Apache RocketMQ Feed">
++
++<!-- http://t.co/dKP3o1e -->
++<meta name="HandheldFriendly" content="True">
++<meta name="MobileOptimized" content="320">
++<meta name="viewport" content="width=device-width, initial-scale=1.0">
++
++<script>
++  document.documentElement.className = 
document.documentElement.className.replace(/\bno-js\b/g, '') + ' js ';
++</script>
++
++<!-- For all browsers -->
++<link rel="stylesheet" href="/assets/css/main.css">
++
++<meta http-equiv="cleartype" content="on">
++    <!-- start custom head snippets -->
++
++<!-- insert favicons. use http://realfavicongenerator.net/ -->
++
++<!-- end custom head snippets -->
++  </head>
++
++  <body class="layout--single">
++
++    <!--[if lt IE 9]>
++<div class="notice--danger align-center" style="margin: 0;">You are using an 
<strong>outdated</strong> browser. Please <a 
href="http://browsehappy.com/";>upgrade your browser</a> to improve your 
experience.</div>
++<![endif]-->
++    <div class="masthead">
++  <div class="masthead__inner-wrap">
++    <div class="masthead__menu">
++      <nav id="site-nav" class="greedy-nav">
++        <button><div class="navicon"></div></button>
++        <ul class="visible-links">
++          <li class="masthead__menu-item masthead__menu-item--lg"><a 
href="/">Apache RocketMQ</a></li>
++          
++            
++            <li class="masthead__menu-item"><a 
href="/docs/quick-start/">Documentation</a></li>
++          
++            
++            <li class="masthead__menu-item"><a 
href="/year-archive/">Blog</a></li>
++          
++            
++            <li class="masthead__menu-item"><a 
href="/community/">Community</a></li>
++          
++            
++            <li class="masthead__menu-item"><a 
href="/customer/">Customer</a></li>
++          
++            
++            <li class="masthead__menu-item"><a 
href="/about/team/">About</a></li>
++          
++        </ul>
++        <ul class="hidden-links hidden"></ul>
++      </nav>
++    </div>
++  </div>
++</div>
++
++    
++
++
++
++<div id="main" role="main">
++  
++  <div class="sidebar sticky">
++  
++  
++    
++      
++      
++      
++    
++    
++      
++
++<nav class="nav__list">
++  
++  <input id="ac-toc" name="accordion-toc" type="checkbox" />
++  <label for="ac-toc">Toggle Menu</label>
++  <ul class="nav__items">
++    
++      <li>
++        
++          <span class="nav__sub-title">User Guide</span>
++        
++
++        
++        <ul>
++          
++            
++            
++
++            
++            
++
++            <li><a href="/docs/quick-start/" class="">Quick Start</a></li>
++          
++            
++            
++
++            
++            
++
++            <li><a href="/docs/motivation/" class="">Why RocketMQ</a></li>
++          
++            
++            
++
++            
++            
++
++            <li><a href="/docs/simple-example/" class="">Simple 
Example</a></li>
++          
++            
++            
++
++            
++            
++
++            <li><a href="/docs/order-example/" class="">Order Example</a></li>
++          
++            
++            
++
++            
++            
++
++            <li><a href="/docs/broadcast-example/" class="">Broadcasting 
Example</a></li>
++          
++            
++            
++
++            
++            
++
++            <li><a href="/docs/schedule-example/" class="">Schedule 
Example</a></li>
++          
++            
++            
++
++            
++            
++
++            <li><a href="/docs/batch-example/" class="active">Batch 
Example</a></li>
++          
++        </ul>
++        
++      </li>
++    
++      <li>
++        
++          <span class="nav__sub-title">Deployment & Operations</span>
++        
++
++        
++        <ul>
++          
++            
++            
++
++            
++            
++
++            <li><a href="/docs/rmq-arc/" class="">Architecture</a></li>
++          
++            
++            
++
++            
++            
++
++            <li><a href="/docs/rmq-deployment/" class="">Deployment</a></li>
++          
++            
++            
++
++            
++            
++
++            <li><a href="/docs/cli-admin-tool/" class="">CLI Admin 
Tool</a></li>
++          
++        </ul>
++        
++      </li>
++    
++      <li>
++        
++          <span class="nav__sub-title">Contributor Guide</span>
++        
++
++        
++        <ul>
++          
++            
++            
++
++            
++            
++
++            <li><a href="/docs/code-guidelines/" class="">Code 
Guidelines</a></li>
++          
++            
++            
++
++            
++            
++
++            <li><a href="/docs/pull-request/" class="">Pull Request</a></li>
++          
++            
++            
++
++            
++            
++
++            <li><a href="/docs/release-manual" class="">Release 
Manual</a></li>
++          
++        </ul>
++        
++      </li>
++    
++      <li>
++        
++          <span class="nav__sub-title">Best Practice</span>
++        
++
++        
++        <ul>
++          
++            
++            
++
++            
++            
++
++            <li><a href="/docs/core-concept/" class="">Core Concept</a></li>
++          
++            
++            
++
++            
++            
++
++            <li><a href="/docs/best-practice-broker/" class="">Broker</a></li>
++          
++            
++            
++
++            
++            
++
++            <li><a href="/docs/best-practice-producer/" 
class="">Producer</a></li>
++          
++            
++            
++
++            
++            
++
++            <li><a href="/docs/best-practice-consumer/" 
class="">Consumer</a></li>
++          
++            
++            
++
++            
++            
++
++            <li><a href="/docs/best-practice-namesvr/" 
class="">NameServer</a></li>
++          
++        </ul>
++        
++      </li>
++    
++      <li>
++        
++          <span class="nav__sub-title">Release Notes</span>
++        
++
++        
++        <ul>
++          
++            
++            
++
++            
++            
++
++            <li><a href="/dowloading/releases/" class="">Download</a></li>
++          
++            
++            
++
++            
++            
++
++            <li><a href="/release_notes/release-notes-4.0.0-incubating/" 
class="">4.0.0-incubating</a></li>
++          
++        </ul>
++        
++      </li>
++    
++      <li>
++        
++          
++          
++
++          <a href="/docs/roadmap/"><span 
class="nav__sub-title">RoadMap</span></a>
++        
++
++        
++      </li>
++    
++      <li>
++        
++          
++          
++
++          <a href="/docs/faq/"><span class="nav__sub-title">FAQ</span></a>
++        
++
++        
++      </li>
++    
++  </ul>
++</nav>
++    
++  
++  </div>
++
++
++  <article class="page" itemscope itemtype="http://schema.org/CreativeWork";>
++    <meta itemprop="headline" content="Batch Example">
++    <meta itemprop="description" content="How to use batch in Rocketmq">
++    <meta itemprop="datePublished" content="April 25, 2017">
++    <meta itemprop="dateModified" content="April 25, 2017">
++
++    <div class="page__inner-wrap">
++      
++        <header>
++          <h1 class="page__title" itemprop="headline">Batch Example
++</h1>
++          
++        </header>
++      
++
++      <section class="page__content" itemprop="text">
++        <aside class="sidebar__right">
++<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="#when-to-use-batch" id="markdown-toc-when-to-use-batch">When 
to use batch</a></li>
++  <li><a href="#usage-constraints" id="markdown-toc-usage-constraints">Usage 
constraints</a></li>
++  <li><a href="#how-to-use-batch" id="markdown-toc-how-to-use-batch">How to 
use batch</a></li>
++  <li><a href="#split-into-lists" id="markdown-toc-split-into-lists">Split 
into lists</a></li>
++</ul>
++
++  </nav>
++</aside>
++
++<h4 id="when-to-use-batch">When to use batch</h4>
++<p>Batch is not for packaging but improving performance of small messages. So 
the messages of the same batch should act the same role, no more effort should 
be taken to split the batch.
++No split has another important advantage, messages of the same batch should 
be sent atomically, that is all successfully or all unsuccessfully, of which 
the importance is self-evident.
++So performance and atomicity are the original intentions, which will reflect 
on the usage constraints. 
++That is to say, if you want to improve performance for small messages or to 
send messages atomically, batch is a nice solution for you.</p>
++<h4 id="usage-constraints">Usage constraints</h4>
++<p>Performance and atomicity are worth  the following constraints:
++messages of the same batch should have:</p>
++
++<ol>
++  <li>same topic: If they belong to different topics(internally the queues), 
then may be sent to different brokers, which will against atomicity.</li>
++  <li>same waitStoreMsgOK: also differences will against atomicity.</li>
++  <li>no delay level: If we care about the delay level, we need to decode the 
internal properties of every message, which will cause much performance 
loss.</li>
++</ol>
++
++<p>And the most important, the total size, that is the sum of size of each 
message in one batch, should be no more than 1M.</p>
++
++<h4 id="how-to-use-batch">How to use batch</h4>
++<p>If you just send several small messages in a time and do not need to worry 
about the size limit, it is easy to use batch:</p>
++
++<div class="language-java highlighter-rouge"><pre 
class="highlight"><code><span class="n">String</span> <span 
class="n">topic</span> <span class="o">=</span> <span 
class="s">"BatchTest"</span><span class="o">;</span>
++<span class="n">List</span><span class="o">&lt;</span><span 
class="n">Message</span><span class="o">&gt;</span> <span 
class="n">messages</span> <span class="o">=</span> <span class="k">new</span> 
<span class="n">ArrayList</span><span class="o">&lt;&gt;();</span>
++<span class="n">messages</span><span class="o">.</span><span 
class="na">add</span><span class="o">(</span><span class="k">new</span> <span 
class="n">Message</span><span class="o">(</span><span 
class="n">topic</span><span class="o">,</span> <span 
class="s">"TagA"</span><span class="o">,</span> <span 
class="s">"OrderID001"</span><span class="o">,</span> <span class="s">"Hello 
world 0"</span><span class="o">.</span><span class="na">getBytes</span><span 
class="o">()));</span>
++<span class="n">messages</span><span class="o">.</span><span 
class="na">add</span><span class="o">(</span><span class="k">new</span> <span 
class="n">Message</span><span class="o">(</span><span 
class="n">topic</span><span class="o">,</span> <span 
class="s">"TagA"</span><span class="o">,</span> <span 
class="s">"OrderID002"</span><span class="o">,</span> <span class="s">"Hello 
world 1"</span><span class="o">.</span><span class="na">getBytes</span><span 
class="o">()));</span>
++<span class="n">messages</span><span class="o">.</span><span 
class="na">add</span><span class="o">(</span><span class="k">new</span> <span 
class="n">Message</span><span class="o">(</span><span 
class="n">topic</span><span class="o">,</span> <span 
class="s">"TagA"</span><span class="o">,</span> <span 
class="s">"OrderID003"</span><span class="o">,</span> <span class="s">"Hello 
world 2"</span><span class="o">.</span><span class="na">getBytes</span><span 
class="o">()));</span>
++<span class="k">try</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">messages</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="c1">//handle the error</span>
++<span class="o">}</span>
++    
++</code></pre>
++</div>
++<h4 id="split-into-lists">Split into lists</h4>
++<p>The complexity only grow when you send large batch and you may not sure if 
it exceeds the size limit (1M).</p>
++
++<p>At this time, you’d better split the lists:</p>
++
++<div class="language-java highlighter-rouge"><pre 
class="highlight"><code><span class="kd">public</span> <span 
class="kd">class</span> <span class="nc">ListSplitter</span> <span 
class="kd">implements</span> <span class="n">Iterator</span><span 
class="o">&lt;</span><span class="n">List</span><span 
class="o">&lt;</span><span class="n">Message</span><span 
class="o">&gt;&gt;</span> <span class="o">{</span>
++    <span class="kd">private</span> <span class="kd">final</span> <span 
class="kt">int</span> <span class="n">SIZE_LIMIT</span> <span 
class="o">=</span> <span class="mi">1000</span> <span class="o">*</span> <span 
class="mi">1000</span><span class="o">;</span>
++    <span class="kd">private</span> <span class="kd">final</span> <span 
class="n">List</span><span class="o">&lt;</span><span 
class="n">Message</span><span class="o">&gt;</span> <span 
class="n">messages</span><span class="o">;</span>
++    <span class="kd">private</span> <span class="kt">int</span> <span 
class="n">currIndex</span><span class="o">;</span>
++    <span class="kd">public</span> <span class="nf">ListSplitter</span><span 
class="o">(</span><span class="n">List</span><span class="o">&lt;</span><span 
class="n">Message</span><span class="o">&gt;</span> <span 
class="n">messages</span><span class="o">)</span> <span class="o">{</span>
++            <span class="k">this</span><span class="o">.</span><span 
class="na">messages</span> <span class="o">=</span> <span 
class="n">messages</span><span class="o">;</span>
++    <span class="o">}</span>
++    <span class="nd">@Override</span> <span class="kd">public</span> <span 
class="kt">boolean</span> <span class="nf">hasNext</span><span 
class="o">()</span> <span class="o">{</span>
++        <span class="k">return</span> <span class="n">currIndex</span> <span 
class="o">&lt;</span> <span class="n">messages</span><span 
class="o">.</span><span class="na">size</span><span class="o">();</span>
++    <span class="o">}</span>
++    <span class="nd">@Override</span> <span class="kd">public</span> <span 
class="n">List</span><span class="o">&lt;</span><span 
class="n">Message</span><span class="o">&gt;</span> <span 
class="nf">next</span><span class="o">()</span> <span class="o">{</span>
++        <span class="kt">int</span> <span class="n">nextIndex</span> <span 
class="o">=</span> <span class="n">currIndex</span><span class="o">;</span>
++        <span class="kt">int</span> <span class="n">totalSize</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="n">nextIndex</span> <span class="o">&lt;</span> <span 
class="n">messages</span><span class="o">.</span><span 
class="na">size</span><span class="o">();</span> <span 
class="n">nextIndex</span><span class="o">++)</span> <span class="o">{</span>
++            <span class="n">Message</span> <span class="n">message</span> 
<span class="o">=</span> <span class="n">messages</span><span 
class="o">.</span><span class="na">get</span><span class="o">(</span><span 
class="n">nextIndex</span><span class="o">);</span>
++            <span class="kt">int</span> <span class="n">tmpSize</span> <span 
class="o">=</span> <span class="n">message</span><span class="o">.</span><span 
class="na">getTopic</span><span class="o">().</span><span 
class="na">length</span><span class="o">()</span> <span class="o">+</span> 
<span class="n">message</span><span class="o">.</span><span 
class="na">getBody</span><span class="o">().</span><span 
class="na">length</span><span class="o">;</span>
++            <span class="n">Map</span><span class="o">&lt;</span><span 
class="n">String</span><span class="o">,</span> <span 
class="n">String</span><span class="o">&gt;</span> <span 
class="n">properties</span> <span class="o">=</span> <span 
class="n">message</span><span class="o">.</span><span 
class="na">getProperties</span><span class="o">();</span>
++            <span class="k">for</span> <span class="o">(</span><span 
class="n">Map</span><span class="o">.</span><span class="na">Entry</span><span 
class="o">&lt;</span><span class="n">String</span><span class="o">,</span> 
<span class="n">String</span><span class="o">&gt;</span> <span 
class="n">entry</span> <span class="o">:</span> <span 
class="n">properties</span><span class="o">.</span><span 
class="na">entrySet</span><span class="o">())</span> <span class="o">{</span>
++                <span class="n">tmpSize</span> <span class="o">+=</span> 
<span class="n">entry</span><span class="o">.</span><span 
class="na">getKey</span><span class="o">().</span><span 
class="na">length</span><span class="o">()</span> <span class="o">+</span> 
<span class="n">entry</span><span class="o">.</span><span 
class="na">getValue</span><span class="o">().</span><span 
class="na">length</span><span class="o">();</span>
++            <span class="o">}</span>
++            <span class="n">tmpSize</span> <span class="o">=</span> <span 
class="n">tmpSize</span> <span class="o">+</span> <span 
class="mi">20</span><span class="o">;</span> <span class="c1">//for log 
overhead</span>
++            <span class="k">if</span> <span class="o">(</span><span 
class="n">tmpSize</span> <span class="o">&gt;</span> <span 
class="n">SIZE_LIMIT</span><span class="o">)</span> <span class="o">{</span>
++                <span class="c1">//it is unexpected that single message 
exceeds the SIZE_LIMIT</span>
++                <span class="c1">//here just let it go, otherwise it will 
block the splitting process</span>
++                <span class="k">if</span> <span class="o">(</span><span 
class="n">nextIndex</span> <span class="o">-</span> <span 
class="n">currIndex</span> <span class="o">==</span> <span 
class="mi">0</span><span class="o">)</span> <span class="o">{</span>
++                   <span class="c1">//if the next sublist has no element, add 
this one and then break, otherwise just break</span>
++                   <span class="n">nextIndex</span><span class="o">++;</span> 
 
++                <span class="o">}</span>
++                <span class="k">break</span><span class="o">;</span>
++            <span class="o">}</span>
++            <span class="k">if</span> <span class="o">(</span><span 
class="n">tmpSize</span> <span class="o">+</span> <span 
class="n">totalSize</span> <span class="o">&gt;</span> <span 
class="n">SIZE_LIMIT</span><span class="o">)</span> <span class="o">{</span>
++                <span class="k">break</span><span class="o">;</span>
++            <span class="o">}</span> <span class="k">else</span> <span 
class="o">{</span>
++                <span class="n">totalSize</span> <span class="o">+=</span> 
<span class="n">tmpSize</span><span class="o">;</span>
++            <span class="o">}</span>
++    
++        <span class="o">}</span>
++        <span class="n">List</span><span class="o">&lt;</span><span 
class="n">Message</span><span class="o">&gt;</span> <span 
class="n">subList</span> <span class="o">=</span> <span 
class="n">messages</span><span class="o">.</span><span 
class="na">subList</span><span class="o">(</span><span 
class="n">currIndex</span><span class="o">,</span> <span 
class="n">nextIndex</span><span class="o">);</span>
++        <span class="n">currIndex</span> <span class="o">=</span> <span 
class="n">nextIndex</span><span class="o">;</span>
++        <span class="k">return</span> <span class="n">subList</span><span 
class="o">;</span>
++    <span class="o">}</span>
++<span class="o">}</span>
++<span class="c1">//then you could split the large list into small ones:</span>
++<span class="n">ListSplitter</span> <span class="n">splitter</span> <span 
class="o">=</span> <span class="k">new</span> <span 
class="n">ListSplitter</span><span class="o">(</span><span 
class="n">messages</span><span class="o">);</span>
++<span class="k">while</span> <span class="o">(</span><span 
class="n">splitter</span><span class="o">.</span><span 
class="na">hasNext</span><span class="o">())</span> <span class="o">{</span>
++   <span class="k">try</span> <span class="o">{</span>
++       <span class="n">List</span><span class="o">&lt;</span><span 
class="n">Message</span><span class="o">&gt;</span>  <span 
class="n">listItem</span> <span class="o">=</span> <span 
class="n">splitter</span><span class="o">.</span><span 
class="na">next</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">listItem</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="c1">//handle the error</span>
++   <span class="o">}</span>
++<span class="o">}</span>
++</code></pre>
++</div>
++
++        
++      </section>
++
++      <footer class="page__meta">
++        
++        
++
++
++        
++          <p class="page__date"><strong><i class="fa fa-fw fa-calendar" 
aria-hidden="true"></i> Updated:</strong> <time datetime="2017-04-25">April 25, 
2017</time></p>
++        
++      </footer>
++
++      <section class="page__share">
++  
++    <h4 class="page__share-title">Share on</h4>
++  
++
++  <a href="https://twitter.com/intent/tweet?via=ApacheRocketMQ&text=Batch 
Example /docs/batch-example/" class="btn btn--twitter" title="Share on 
Twitter"><i class="fa fa-fw fa-twitter" aria-hidden="true"></i><span> 
Twitter</span></a>
++
++  <a href="https://www.facebook.com/sharer/sharer.php?u=/docs/batch-example/"; 
class="btn btn--facebook" title="Share on Facebook"><i class="fa fa-fw 
fa-facebook" aria-hidden="true"></i><span> Facebook</span></a>
++
++  <a href="https://plus.google.com/share?url=/docs/batch-example/"; class="btn 
btn--google-plus" title="Share on Google Plus"><i class="fa fa-fw 
fa-google-plus" aria-hidden="true"></i><span> Google+</span></a>
++
++  <a 
href="https://www.linkedin.com/shareArticle?mini=true&url=/docs/batch-example/"; 
class="btn btn--linkedin" title="Share on LinkedIn"><i class="fa fa-fw 
fa-linkedin" aria-hidden="true"></i><span> LinkedIn</span></a>
++</section>
++
++
++      
++  <nav class="pagination">
++    
++      <a href="/docs/roadmap/" class="pagination--pager" title="The RoadMap 
of Apache RocketMQ
++">Previous</a>
++    
++    
++      <a href="/docs/broadcast-example/" class="pagination--pager" 
title="Broadcasting
++">Next</a>
++    
++  </nav>
++
++    </div>
++
++    
++      <div class="page__comments">
++  
++  
++    <h4 class="page__comments-title">Leave a Comment</h4>
++    <section id="disqus_thread"></section>
++  
++</div>
++    
++  </article>
++
++  
++  
++</div>
++
++    <div class="page__footer">
++      <footer>
++        <!-- start custom footer snippets -->
++
++<!-- end custom footer snippets -->
++        <style type="text/css">
++  div.columns   { float: left; margin-left: 10px;}
++  div.clear     { clear: both; } 
++</style>
++<div>
++  <div class="columns">
++    <a href="https://www.apache.org/";><img 
src="/assets/images/feather-small.gif" alt="Apache Software Foundation" 
style="height: 88px !important" /></a>
++  </div>
++  <div class="columns" style="width: 80%">
++    <div class="page__footer-follow">
++      <ul class="social-icons">
++        
++          <li><strong>Follow:</strong></li>
++        
++        
++          <li><a href="https://twitter.com/ApacheRocketMQ";><i class="fa fa-fw 
fa-twitter-square" aria-hidden="true"></i> Twitter</a></li>
++        
++        
++        
++          <li><a href="http://github.com/apache/incubator-rocketmq";><i 
class="fa fa-fw fa-github" aria-hidden="true"></i> GitHub</a></li>
++        
++        
++        <li><a href="/feed.xml"><i class="fa fa-fw fa-rss-square" 
aria-hidden="true"></i> Feed</a></li>
++      </ul>
++    </div>
++
++    <div class="page__footer-copyright">Copyright &copy; 2017 <a 
href="http://www.apache.org/";>The Apache Software Foundation</a>. All Rights 
Reserved.</div>
++  </div>
++</div>
++<div class="clear"></div>
++      </footer>
++    </div>
++
++    <script src="/assets/js/main.min.js"></script>
++
++
++
++
++  <script>
++  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
++  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new 
Date();a=s.createElement(o),
++  
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
++  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
++
++  ga('create', 'UA-89603173-1', 'auto');
++  ga('send', 'pageview');
++</script>
++
++<script>
++var _hmt = _hmt || [];
++(function() {
++  var hm = document.createElement("script");
++  hm.src = "https://hm.baidu.com/hm.js?36428f2b841d08e7405724cbf7f860d2";;
++  var s = document.getElementsByTagName("script")[0]; 
++  s.parentNode.insertBefore(hm, s);
++})();
++</script>
++
++
++
++
++  
++  <script type="text/javascript">
++      /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * 
* */
++      var disqus_shortname = 'rocketmq';
++
++      /* * * DON'T EDIT BELOW THIS LINE * * */
++      (function() {
++              var dsq = document.createElement('script'); dsq.type = 
'text/javascript'; dsq.async = true;
++              dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
++              (document.getElementsByTagName('head')[0] || 
document.getElementsByTagName('body')[0]).appendChild(dsq);
++      })();
++
++      /* * * DON'T EDIT BELOW THIS LINE * * */
++      (function () {
++              var s = document.createElement('script'); s.async = true;
++              s.type = 'text/javascript';
++              s.src = '//' + disqus_shortname + '.disqus.com/count.js';
++              (document.getElementsByTagName('HEAD')[0] || 
document.getElementsByTagName('BODY')[0]).appendChild(s);
++      }());
++  </script>
++  <noscript>Please enable JavaScript to view the <a 
href="http://disqus.com/?ref_noscript";>comments powered by 
Disqus.</a></noscript>
++
++
++
++
++
++
++  </body>
++</html>

Reply via email to