Release at 2017.04.25.01

Project: http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/commit/93c5936c
Tree: 
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/tree/93c5936c
Diff: 
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/diff/93c5936c

Branch: refs/heads/asf-site
Commit: 93c5936c51a5765520efcc6abead4f0ffbead555
Parents: ac7796b c87ce9e
Author: yukon <[email protected]>
Authored: Tue Apr 25 01:07:04 2017 +0800
Committer: yukon <[email protected]>
Committed: Tue Apr 25 01:07:04 2017 +0800

----------------------------------------------------------------------
 _docs/14-rmq-deployment.md                     |  4 ++--
 content/about/contact/index.html               |  2 +-
 content/about/rewards/index.html               |  2 +-
 content/about/team/index.html                  |  2 +-
 content/docs/batch-example/index.html          |  2 +-
 content/docs/best-practice-broker/index.html   |  2 +-
 content/docs/best-practice-consumer/index.html |  2 +-
 content/docs/best-practice-namesvr/index.html  |  2 +-
 content/docs/best-practice-producer/index.html |  2 +-
 content/docs/broadcast-example/index.html      |  2 +-
 content/docs/cli-admin-tool/index.html         |  2 +-
 content/docs/cluster-deployment/index.html     |  2 +-
 content/docs/code-guidelines/index.html        |  2 +-
 content/docs/core-concept/index.html           |  2 +-
 content/docs/documentation/index.html          |  2 +-
 content/docs/faq/index.html                    |  2 +-
 content/docs/motivation/index.html             |  2 +-
 content/docs/order-example/index.html          |  2 +-
 content/docs/pull-request/index.html           |  2 +-
 content/docs/quick-start/index.html            |  2 +-
 content/docs/release-manual.html               |  2 +-
 content/docs/rmq-arc/index.html                |  2 +-
 content/docs/rmq-deployment/index.html         | 14 +++++++++-----
 content/docs/roadmap/index.html                |  2 +-
 content/docs/schedule-example/index.html       |  2 +-
 content/docs/simple-example/index.html         |  2 +-
 content/dowloading/releases/index.html         |  2 +-
 content/feed.xml                               |  2 +-
 28 files changed, 37 insertions(+), 33 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/93c5936c/content/about/contact/index.html
----------------------------------------------------------------------
diff --cc content/about/contact/index.html
index d0a529e,0000000..23fab7b
mode 100644,000000..100644
--- a/content/about/contact/index.html
+++ b/content/about/contact/index.html
@@@ -1,393 -1,0 +1,393 @@@
 +<!doctype html>
 +<html lang="en" class="no-js">
 +  <head>
 +    <meta charset="utf-8">
 +
 +<!-- begin SEO -->
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +<title>CONTACT - Apache RocketMQ</title>
 +
 +
 +
 +
 +<meta name="description" content="Contact.">
 +
 +
 +
 +
 +<meta property="og:locale" content="en">
 +<meta property="og:site_name" content="Apache RocketMQ">
 +<meta property="og:title" content="CONTACT">
 +
 +
 +
 +
 +  <meta property="og:description" content="Contact.">
 +
 +
 +
 +  <meta name="twitter:site" content="@ApacheRocketMQ">
 +  <meta name="twitter:title" content="CONTACT">
 +  <meta name="twitter:description" content="Contact.">
 +  <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">
++  <meta property="article:published_time" content="2017-04-25T01:06:24+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--about_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>
 +        
 +          
 +          
 +
 +          <a href="/about/team/"><span class="nav__sub-title">Team</span></a>
 +        
 +
 +        
 +      </li>
 +    
 +      <li>
 +        
 +          
 +          
 +
 +          <a href="/about/contact/"><span 
class="nav__sub-title">Contact</span></a>
 +        
 +
 +        
 +      </li>
 +    
 +      <li>
 +        
 +          
 +          
 +
 +          <a href="/about/rewards/"><span 
class="nav__sub-title">Rewards</span></a>
 +        
 +
 +        
 +      </li>
 +    
 +  </ul>
 +</nav>
 +    
 +  
 +  </div>
 +
 +
 +  <article class="page" itemscope itemtype="http://schema.org/CreativeWork";>
 +    <meta itemprop="headline" content="CONTACT">
 +    <meta itemprop="description" content="Contact.">
 +    <meta itemprop="datePublished" content="April 25, 2017">
 +    <meta itemprop="dateModified" content="December 29, 2016">
 +
 +    <div class="page__inner-wrap">
 +      
 +        <header>
 +          <h1 class="page__title" itemprop="headline">CONTACT
 +</h1>
 +          
 +        </header>
 +      
 +
 +      <section class="page__content" itemprop="text">
 +        <h2 id="mailing-lists">Mailing Lists</h2>
 +
 +<p>These are the mailing lists that have been established for RocketMQ. For 
each list, there is a subscribe, unsubscribe, and an archive link.</p>
 +
 +<table>
 +  <thead>
 +    <tr>
 +      <th style="text-align: left">Name</th>
 +      <th style="text-align: left">Description</th>
 +      <th style="text-align: left">Subscribe</th>
 +      <th style="text-align: left">Unsubscribe</th>
 +      <th style="text-align: left">Archive</th>
 +    </tr>
 +  </thead>
 +  <tbody>
 +    <tr>
 +      <td style="text-align: left">Users</td>
 +      <td style="text-align: left">User support and questions mailing 
list</td>
 +      <td style="text-align: left"><a 
href="mailto:[email protected]";>Subscribe</a></td>
 +      <td style="text-align: left"><a 
href="mailto:[email protected]";>Unsubscribe</a></td>
 +      <td style="text-align: left"><a 
href="http://mail-archives.apache.org/mod_mbox/incubator-rocketmq-users/";>mail-archives.apache.org</a></td>
 +    </tr>
 +    <tr>
 +      <td style="text-align: left">Issues</td>
 +      <td style="text-align: left">Mirror of all JIRA activity</td>
 +      <td style="text-align: left"><a 
href="mailto:[email protected]";>Subscribe</a></td>
 +      <td style="text-align: left"><a 
href="mailto:[email protected]";>Unsubscribe</a></td>
 +      <td style="text-align: left"><a 
href="http://mail-archives.apache.org/mod_mbox/incubator-rocketmq-issues/";>mail-archives.apache.org</a></td>
 +    </tr>
 +    <tr>
 +      <td style="text-align: left">Development</td>
 +      <td style="text-align: left">Development related discussions</td>
 +      <td style="text-align: left"><a 
href="mailto:[email protected]";>Subscribe</a></td>
 +      <td style="text-align: left"><a 
href="mailto:[email protected]";>Unsubscribe</a></td>
 +      <td style="text-align: left"><a 
href="http://mail-archives.apache.org/mod_mbox/incubator-rocketmq-dev//";>mail-archives.apache.org</a></td>
 +    </tr>
 +    <tr>
 +      <td style="text-align: left">Commits</td>
 +      <td style="text-align: left">All commits to repositories</td>
 +      <td style="text-align: left"><a 
href="mailto:[email protected]";>Subscribe</a></td>
 +      <td style="text-align: left"><a 
href="mailto:[email protected]";>Unsubscribe</a></td>
 +      <td style="text-align: left"><a 
href="http://mail-archives.apache.org/mod_mbox/incubator-rocketmq-commits/";>mail-archives.apache.org</a></td>
 +    </tr>
 +  </tbody>
 +</table>
 +
 +<p>Besides, we hold tagged questions on <a 
href="http://stackoverflow.com/questions/tagged/rocketmq";>stackoverflow.com</a> 
where you can launch an interactive discussion. Also, you can try to find 
answers to your question about RocketMQ on Quora <a 
href="https://www.quora.com/topic/RocketMQ";>here</a>.</p>
 +
 +
 +        
 +      </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="2016-12-29">December 
29, 2016</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=CONTACT 
/about/contact/" 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=/about/contact/"; 
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=/about/contact/"; 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=/about/contact/"; 
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="/about/team/" class="pagination--pager" title="TEAM
 +">Previous</a>
 +    
 +    
 +      <a href="/about/rewards/" class="pagination--pager" title="REWARDS
 +">Next</a>
 +    
 +  </nav>
 +
 +    </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>
 +
 +
 +
 +
 +  </body>
 +</html>

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/93c5936c/content/about/rewards/index.html
----------------------------------------------------------------------
diff --cc content/about/rewards/index.html
index 840fb07,0000000..7030e5e
mode 100644,000000..100644
--- a/content/about/rewards/index.html
+++ b/content/about/rewards/index.html
@@@ -1,349 -1,0 +1,349 @@@
 +<!doctype html>
 +<html lang="en" class="no-js">
 +  <head>
 +    <meta charset="utf-8">
 +
 +<!-- begin SEO -->
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +<title>REWARDS - Apache RocketMQ</title>
 +
 +
 +
 +
 +<meta name="description" content="Rewards.">
 +
 +
 +
 +
 +<meta property="og:locale" content="en">
 +<meta property="og:site_name" content="Apache RocketMQ">
 +<meta property="og:title" content="REWARDS">
 +
 +
 +
 +
 +  <meta property="og:description" content="Rewards.">
 +
 +
 +
 +  <meta name="twitter:site" content="@ApacheRocketMQ">
 +  <meta name="twitter:title" content="REWARDS">
 +  <meta name="twitter:description" content="Rewards.">
 +  <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">
++  <meta property="article:published_time" content="2017-04-25T01:06:24+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--about_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>
 +        
 +          
 +          
 +
 +          <a href="/about/team/"><span class="nav__sub-title">Team</span></a>
 +        
 +
 +        
 +      </li>
 +    
 +      <li>
 +        
 +          
 +          
 +
 +          <a href="/about/contact/"><span 
class="nav__sub-title">Contact</span></a>
 +        
 +
 +        
 +      </li>
 +    
 +      <li>
 +        
 +          
 +          
 +
 +          <a href="/about/rewards/"><span 
class="nav__sub-title">Rewards</span></a>
 +        
 +
 +        
 +      </li>
 +    
 +  </ul>
 +</nav>
 +    
 +  
 +  </div>
 +
 +
 +  <article class="page" itemscope itemtype="http://schema.org/CreativeWork";>
 +    <meta itemprop="headline" content="REWARDS">
 +    <meta itemprop="description" content="Rewards.">
 +    <meta itemprop="datePublished" content="April 25, 2017">
 +    <meta itemprop="dateModified" content="January 25, 2017">
 +
 +    <div class="page__inner-wrap">
 +      
 +        <header>
 +          <h1 class="page__title" itemprop="headline">REWARDS
 +</h1>
 +          
 +        </header>
 +      
 +
 +      <section class="page__content" itemprop="text">
 +        <h2 id="2016-chinas-most-popular-open-source-software-award-">2016 
China’s most popular open source software award <a 
href="https://www.oschina.net/question/2886655_2216338";><i class="fa 
fa-link"></i></a></h2>
 +
 +<div>
 +<img src="/assets/images/rewards/2016_oschina.jpg" width="80%" height="80%" 
alt="oschina" />
 +</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-01-25">January 
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=REWARDS 
/about/rewards/" 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=/about/rewards/"; 
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=/about/rewards/"; 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=/about/rewards/"; 
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="/about/contact/" class="pagination--pager" title="CONTACT
 +">Previous</a>
 +    
 +    
 +      <a href="#" class="pagination--pager disabled">Next</a>
 +    
 +  </nav>
 +
 +    </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>
 +
 +
 +
 +
 +  </body>
 +</html>

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/93c5936c/content/about/team/index.html
----------------------------------------------------------------------
diff --cc content/about/team/index.html
index a5582ad,0000000..6d6148e
mode 100644,000000..100644
--- a/content/about/team/index.html
+++ b/content/about/team/index.html
@@@ -1,535 -1,0 +1,535 @@@
 +<!doctype html>
 +<html lang="en" class="no-js">
 +  <head>
 +    <meta charset="utf-8">
 +
 +<!-- begin SEO -->
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +<title>TEAM - Apache RocketMQ</title>
 +
 +
 +
 +
 +<meta name="description" content="Project team.">
 +
 +
 +
 +
 +<meta property="og:locale" content="en">
 +<meta property="og:site_name" content="Apache RocketMQ">
 +<meta property="og:title" content="TEAM">
 +
 +
 +
 +
 +  <meta property="og:description" content="Project team.">
 +
 +
 +
 +  <meta name="twitter:site" content="@ApacheRocketMQ">
 +  <meta name="twitter:title" content="TEAM">
 +  <meta name="twitter:description" content="Project team.">
 +  <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">
++  <meta property="article:published_time" content="2017-04-25T01:06:24+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>
 +        
 +          
 +          
 +
 +          <a href="/about/team/"><span class="nav__sub-title">Team</span></a>
 +        
 +
 +        
 +      </li>
 +    
 +      <li>
 +        
 +          
 +          
 +
 +          <a href="/about/contact/"><span 
class="nav__sub-title">Contact</span></a>
 +        
 +
 +        
 +      </li>
 +    
 +      <li>
 +        
 +          
 +          
 +
 +          <a href="/about/rewards/"><span 
class="nav__sub-title">Rewards</span></a>
 +        
 +
 +        
 +      </li>
 +    
 +  </ul>
 +</nav>
 +    
 +  
 +  </div>
 +
 +
 +  <article class="page" itemscope itemtype="http://schema.org/CreativeWork";>
 +    <meta itemprop="headline" content="TEAM">
 +    <meta itemprop="description" content="Project team.">
 +    <meta itemprop="datePublished" content="April 25, 2017">
 +    <meta itemprop="dateModified" content="December 29, 2016">
 +
 +    <div class="page__inner-wrap">
 +      
 +        <header>
 +          <h1 class="page__title" itemprop="headline">TEAM
 +</h1>
 +          
 +        </header>
 +      
 +
 +      <section class="page__content" itemprop="text">
 +        <p>The RocketMQ team is comprised of Members and Contributors. 
Members have direct access to the source of RocketMQ project and actively 
evolve the code-base. Contributors improve the project through submission of 
patches and suggestions to the Members. The number of Contributors to the 
project is unbounded. All contributions to RocketMQ are greatly appreciated, 
whether for trivial cleanups, big new features or other material rewards. More 
details see <a 
href="https://github.com/apache/incubator-rocketmq/blob/master/CONTRIBUTING.md";>here</a>.</p>
 +
 +<h3 id="members">Members</h3>
 +
 +<p>The following is a list of developers with commit privileges that have 
directly contributed to the project in one way or another.</p>
 +
 +<table>
 +  <thead>
 +    <tr>
 +      <th style="text-align: left">Image</th>
 +      <th style="text-align: left">Id</th>
 +      <th style="text-align: left">Github Id</th>
 +      <th style="text-align: left">Email</th>
 +      <th style="text-align: left"><a 
href="https://www.apache.org/foundation/how-it-works.html#roles";>Roles</a></th>
 +      <th style="text-align: left">Time Zone</th>
 +    </tr>
 +  </thead>
 +  <tbody>
 +    <tr>
 +      <td style="text-align: left"><img 
src="/assets/images/about/bsnyder.jpeg" alt="bsnyde" /></td>
 +      <td style="text-align: left">bsnyder</td>
 +      <td style="text-align: left"><a 
href="https://github.com/bsnyder";>@bsnyder</a></td>
 +      <td style="text-align: left">[email protected]</td>
 +      <td style="text-align: left">Mentor/PMC Member</td>
 +      <td style="text-align: left">-7</td>
 +    </tr>
 +    <tr>
 +      <td style="text-align: left"><img 
src="/assets/images/about/brianm.jpeg" alt="brian" /></td>
 +      <td style="text-align: left">brianm</td>
 +      <td style="text-align: left"><a 
href="https://github.com/brianm";>@brianm</a></td>
 +      <td style="text-align: left">[email protected]</td>
 +      <td style="text-align: left">Mentor/PMC Member</td>
 +      <td style="text-align: left">-8</td>
 +    </tr>
 +    <tr>
 +      <td style="text-align: left"><img 
src="/assets/images/about/WillemJiang.jpeg" alt="WillemJiang" /></td>
 +      <td style="text-align: left">ningjiang</td>
 +      <td style="text-align: left"><a 
href="https://github.com/WillemJiang";>@WillemJiang</a></td>
 +      <td style="text-align: left">[email protected]</td>
 +      <td style="text-align: left">Mentor/PMC Member</td>
 +      <td style="text-align: left">+8</td>
 +    </tr>
 +    <tr>
 +      <td style="text-align: left"><img 
src="/assets/images/about/lukehan.jpeg" alt="lukehan" /></td>
 +      <td style="text-align: left">lukehan</td>
 +      <td style="text-align: left"><a 
href="https://github.com/lukehan";>@lukehan</a></td>
 +      <td style="text-align: left">[email protected]</td>
 +      <td style="text-align: left">Mentor/PMC Member</td>
 +      <td style="text-align: left">+8</td>
 +    </tr>
 +    <tr>
 +      <td style="text-align: left"><img 
src="/assets/images/about/justinmclean.jpeg" alt="justinmclean" /></td>
 +      <td style="text-align: left">jmclean</td>
 +      <td style="text-align: left"><a 
href="https://github.com/justinmclean";>@justinmclean</a></td>
 +      <td style="text-align: left">[email protected]</td>
 +      <td style="text-align: left">Mentor/PMC Member</td>
 +      <td style="text-align: left">+11</td>
 +    </tr>
 +    <tr>
 +      <td style="text-align: left"><img 
src="/assets/images/about/vongosling.jpeg" alt="vongosling" /></td>
 +      <td style="text-align: left">vongosling</td>
 +      <td style="text-align: left"><a 
href="https://github.com/vongosling";>@vongosling</a></td>
 +      <td style="text-align: left">[email protected]</td>
 +      <td style="text-align: left">Committer/PMC Member</td>
 +      <td style="text-align: left">+8</td>
 +    </tr>
 +    <tr>
 +      <td style="text-align: left"><img 
src="/assets/images/about/vintagewang.jpeg" alt="vintagewang" /></td>
 +      <td style="text-align: left">vintagewang</td>
 +      <td style="text-align: left"><a 
href="https://github.com/vintagewang";>@vintagewang</a></td>
 +      <td style="text-align: left">[email protected]</td>
 +      <td style="text-align: left">Committer/PMC Member</td>
 +      <td style="text-align: left">+8</td>
 +    </tr>
 +    <tr>
 +      <td style="text-align: left"><img 
src="/assets/images/about/zhouxinyu.png" alt="zhouxinyu" /></td>
 +      <td style="text-align: left">yukon</td>
 +      <td style="text-align: left"><a 
href="https://github.com/zhouxinyu";>@zhouxinyu</a></td>
 +      <td style="text-align: left">[email protected]</td>
 +      <td style="text-align: left">Committer/PMC Member</td>
 +      <td style="text-align: left">+8</td>
 +    </tr>
 +    <tr>
 +      <td style="text-align: left"><img 
src="/assets/images/about/lizhanhui.jpg" alt="lizhanhui" /></td>
 +      <td style="text-align: left">lizhanhui</td>
 +      <td style="text-align: left"><a 
href="https://github.com/lizhanhui";>@lizhanhui</a></td>
 +      <td style="text-align: left">[email protected]</td>
 +      <td style="text-align: left">Committer</td>
 +      <td style="text-align: left">+8</td>
 +    </tr>
 +    <tr>
 +      <td style="text-align: left"><img 
src="/assets/images/about/stevenschew.png" alt="stevensche" /></td>
 +      <td style="text-align: left">stevenschew</td>
 +      <td style="text-align: left"><a 
href="https://github.com/stevenschew";>@stevenschew</a></td>
 +      <td style="text-align: left">[email protected]</td>
 +      <td style="text-align: left">Committer</td>
 +      <td style="text-align: left">+8</td>
 +    </tr>
 +    <tr>
 +      <td style="text-align: left"><img 
src="/assets/images/about/lollipop.jpeg" alt="lollipop" /></td>
 +      <td style="text-align: left">lollipop</td>
 +      <td style="text-align: left"><a 
href="https://github.com/lollipopjin";>@lollipopjin</a></td>
 +      <td style="text-align: left">[email protected]</td>
 +      <td style="text-align: left">Committer</td>
 +      <td style="text-align: left">+8</td>
 +    </tr>
 +    <tr>
 +      <td style="text-align: left"><img 
src="/assets/images/about/longdafeng.jpeg" alt="longdafeng" /></td>
 +      <td style="text-align: left">longda</td>
 +      <td style="text-align: left"><a 
href="https://github.com/longdafeng";>@longdafeng</a></td>
 +      <td style="text-align: left">[email protected]</td>
 +      <td style="text-align: left">Committer</td>
 +      <td style="text-align: left">+8</td>
 +    </tr>
 +    <tr>
 +      <td style="text-align: left"><img 
src="/assets/images/about/rshtykh.png" alt="shroman" /></td>
 +      <td style="text-align: left">shroman</td>
 +      <td style="text-align: left"><a 
href="https://github.com/shroman";>@shroman</a></td>
 +      <td style="text-align: left">[email protected]</td>
 +      <td style="text-align: left">Committer</td>
 +      <td style="text-align: left">+9</td>
 +    </tr>
 +    <tr>
 +      <td style="text-align: left"><img 
src="/assets/images/about/dongeforever.jpeg" alt="dongeforever" /></td>
 +      <td style="text-align: left">dongeforever</td>
 +      <td style="text-align: left"><a 
href="https://github.com/dongeforever";>@dongeforever</a></td>
 +      <td style="text-align: left">[email protected]</td>
 +      <td style="text-align: left">Committer</td>
 +      <td style="text-align: left">+8</td>
 +    </tr>
 +  </tbody>
 +</table>
 +
 +<h3 id="top-contributors">Top Contributors</h3>
 +<p>There are a lot of contributors who improve the RocketMQ project through 
submission of patches and suggestions to the Members, top contributors to be 
added.</p>
 +
 +<table>
 +  <thead>
 +    <tr>
 +      <th style="text-align: left">Image</th>
 +      <th style="text-align: left">Id</th>
 +      <th style="text-align: left">Github Id</th>
 +      <th style="text-align: left">Email</th>
 +      <th style="text-align: left"><a 
href="https://www.apache.org/foundation/how-it-works.html#roles";>Roles</a></th>
 +      <th style="text-align: left">Time Zone</th>
 +    </tr>
 +  </thead>
 +  <tbody>
 +    <tr>
 +      <td style="text-align: left"><img 
src="/assets/images/about/zhangke.png" alt="Zhang-Ke" /></td>
 +      <td style="text-align: left">Zhang-Ke</td>
 +      <td style="text-align: left"><a 
href="https://github.com/Zhang-Ke";>@Zhang-Ke</a></td>
 +      <td style="text-align: left">[email protected]</td>
 +      <td style="text-align: left">Contributor</td>
 +      <td style="text-align: left">+8</td>
 +    </tr>
 +    <tr>
 +      <td style="text-align: left"><img 
src="/assets/images/about/StyleTang.jpeg" alt="StyleTang" /></td>
 +      <td style="text-align: left">StyleTang</td>
 +      <td style="text-align: left"><a 
href="https://github.com/StyleTang";>@StyleTang</a></td>
 +      <td style="text-align: left">[email protected]</td>
 +      <td style="text-align: left">Contributor</td>
 +      <td style="text-align: left">+8</td>
 +    </tr>
 +    <tr>
 +      <td style="text-align: left"><img src="/assets/images/about/tcrow.png" 
alt="tcrow" /></td>
 +      <td style="text-align: left">tcrow</td>
 +      <td style="text-align: left"><a 
href="https://github.com/tcrow";>@tcrow</a></td>
 +      <td style="text-align: left"> </td>
 +      <td style="text-align: left">Contributor</td>
 +      <td style="text-align: left">+8</td>
 +    </tr>
 +    <tr>
 +      <td style="text-align: left"><img 
src="/assets/images/about/Jaskey.jpeg" alt="Jaskey" /></td>
 +      <td style="text-align: left">Jaskey</td>
 +      <td style="text-align: left"><a 
href="https://github.com/Jaskey";>@Jaskey</a></td>
 +      <td style="text-align: left">[email protected]</td>
 +      <td style="text-align: left">Contributor</td>
 +      <td style="text-align: left">+8</td>
 +    </tr>
 +    <tr>
 +      <td style="text-align: left"><img 
src="/assets/images/about/zhaoqun911.png" alt="zhaoqun911" /></td>
 +      <td style="text-align: left">zhaoqun911</td>
 +      <td style="text-align: left"><a 
href="https://github.com/zhaoqun911";>@zhaoqun911</a></td>
 +      <td style="text-align: left"> </td>
 +      <td style="text-align: left">Contributor</td>
 +      <td style="text-align: left">+8</td>
 +    </tr>
 +  </tbody>
 +</table>
 +
 +
 +        
 +      </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="2016-12-29">December 
29, 2016</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=TEAM 
/about/team/" 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=/about/team/"; 
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=/about/team/"; 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=/about/team/"; 
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="#" class="pagination--pager disabled">Previous</a>
 +    
 +    
 +      <a href="/about/contact/" class="pagination--pager" title="CONTACT
 +">Next</a>
 +    
 +  </nav>
 +
 +    </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>
 +
 +
 +
 +
 +  </body>
 +</html>

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/93c5936c/content/docs/batch-example/index.html
----------------------------------------------------------------------
diff --cc content/docs/batch-example/index.html
index 9cd89ad,0000000..9fc68db
mode 100644,000000..100644
--- a/content/docs/batch-example/index.html
+++ b/content/docs/batch-example/index.html
@@@ -1,696 -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">
++  <meta property="article:published_time" content="2017-04-25T01:06:24+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>

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/93c5936c/content/docs/best-practice-broker/index.html
----------------------------------------------------------------------
diff --cc content/docs/best-practice-broker/index.html
index 974c75b,0000000..3d42454
mode 100644,000000..100644
--- a/content/docs/best-practice-broker/index.html
+++ b/content/docs/best-practice-broker/index.html
@@@ -1,616 -1,0 +1,616 @@@
 +<!doctype html>
 +<html lang="en" class="no-js">
 +  <head>
 +    <meta charset="utf-8">
 +
 +<!-- begin SEO -->
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +<title>Best Practice For Broker - Apache RocketMQ</title>
 +
 +
 +
 +
 +<meta name="description" content="Some useful tips for users.">
 +
 +
 +
 +
 +<meta property="og:locale" content="en">
 +<meta property="og:site_name" content="Apache RocketMQ">
 +<meta property="og:title" content="Best Practice For Broker">
 +
 +
 +
 +
 +  <meta property="og:description" content="Some useful tips for users.">
 +
 +
 +
 +  <meta name="twitter:site" content="@ApacheRocketMQ">
 +  <meta name="twitter:title" content="Best Practice For Broker">
 +  <meta name="twitter:description" content="Some useful tips for users.">
 +  <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">
++  <meta property="article:published_time" content="2017-04-25T01:06:24+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="">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="active">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="Best Practice For Broker">
 +    <meta itemprop="description" content="Some useful tips for users.">
 +    <meta itemprop="datePublished" content="April 25, 2017">
 +    <meta itemprop="dateModified" content="December 25, 2016">
 +
 +    <div class="page__inner-wrap">
 +      
 +        <header>
 +          <h1 class="page__title" itemprop="headline">Best Practice For Broker
 +</h1>
 +          
 +        </header>
 +      
 +
 +      <section class="page__content" itemprop="text">
 +        <p>Some useful tips for users.</p>
 +
 +<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="#broker-role" id="markdown-toc-broker-role">Broker 
Role</a></li>
 +  <li><a href="#flushdisktype" 
id="markdown-toc-flushdisktype">FlushDiskType</a></li>
 +  <li><a href="#reentrantlock-vs-cas" 
id="markdown-toc-reentrantlock-vs-cas">ReentrantLock vs CAS</a></li>
 +  <li><a href="#ossh" id="markdown-toc-ossh">os.sh</a></li>
 +</ul>
 +
 +  </nav>
 +</aside>
 +
 +<h2 id="broker-role">Broker Role</h2>
 +<p>Broker Role is ASYNC_MASTER, SYNC_MASTER or SLAVE.
 +If you cannot tolerate message missing, we suggest you deploy SYNC_MASTER and 
attach a SLAVE to it.
 +If you feel ok about missing, but you want the Broker to be always available, 
you may deploy ASYNC_MASTER with SLAVE.
 +If you just want to make it easy, you may only need a ASYNC_MASTER without 
SLAVE.</p>
 +<h2 id="flushdisktype">FlushDiskType</h2>
 +<p>ASYNC_FLUSH is recommended, for SYNC_FLUSH is expensive and will cause too 
much performance loss. If you want reliability, we recommend you use 
SYNC_MASTER with SLAVE.</p>
 +<h2 id="reentrantlock-vs-cas">ReentrantLock vs CAS</h2>
 +<p>to be finished</p>
 +<h2 id="ossh">os.sh</h2>
 +<p>to be finished</p>
 +
 +
 +        
 +      </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="2016-12-25">December 
25, 2016</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=Best 
Practice For Broker /docs/best-practice-broker/" 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/best-practice-broker/"; 
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/best-practice-broker/"; 
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/best-practice-broker/";
 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/simple-example/" class="pagination--pager" title="Simple 
Message Example
 +">Previous</a>
 +    
 +    
 +      <a href="/docs/best-practice-consumer/" class="pagination--pager" 
title="Best Practice For Consumer
 +">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