http://git-wip-us.apache.org/repos/asf/incubator-servicecomb-website/blob/08e1b43f/content/developers/submit-codes/index.html
----------------------------------------------------------------------
diff --git a/content/developers/submit-codes/index.html 
b/content/developers/submit-codes/index.html
new file mode 100644
index 0000000..b32a8ca
--- /dev/null
+++ b/content/developers/submit-codes/index.html
@@ -0,0 +1,566 @@
+<!doctype html>
+<!--
+  Minimal Mistakes Jekyll Theme 4.4.1 by Michael Rose
+  Copyright 2017 Michael Rose - mademistakes.com | @mmistakes
+  Free for personal and commercial use under the MIT license
+  https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE.txt
+-->
+<html lang="en" class="no-js">
+  <head>
+    <meta charset="utf-8">
+
+<!-- begin SEO -->
+
+
+
+
+
+
+
+
+
+<title>代码提交指南 - Apache incubator ServiceComb</title>
+
+
+
+
+<meta name="description" content="介绍如何向 ServiceComb 项目提交代ç 
">
+
+
+
+
+<meta name="author" content="">
+
+<meta property="og:locale" content="en">
+<meta property="og:site_name" content="Apache incubator ServiceComb">
+<meta property="og:title" content="代码提交指南">
+
+
+  <link rel="canonical" 
href="http://github.com/pages/ServiceComb/servicesomb.github.io/developers/submit-codes/";>
+  <meta property="og:url" 
content="http://github.com/pages/ServiceComb/servicesomb.github.io/developers/submit-codes/";>
+
+
+
+  <meta property="og:description" content="介绍如何向 ServiceComb 
项目提交代码">
+
+
+
+  <meta name="twitter:site" content="@ServiceComb">
+  <meta name="twitter:title" content="代码提交指南">
+  <meta name="twitter:description" content="介绍如何向 ServiceComb 
项目提交代码">
+  <meta name="twitter:url" content="">
+
+  
+    <meta name="twitter:card" content="summary">
+    
+  
+
+  
+
+
+
+  
+
+  
+
+
+
+
+
+
+
+
+
+
+
+
+  <script type="application/ld+json">
+    {
+      "@context" : "http://schema.org";,
+      "@type" : "Person",
+      "name" : "Apache incubator ServiceComb",
+      "url" : "http://github.com/pages/ServiceComb/servicesomb.github.io";,
+      "sameAs" : null
+    }
+  </script>
+
+
+
+  <meta name="google-site-verification" 
content="HvJjNd7vvJ-yjSTHlBiIWEYxp_Hrz-PYEY5Idz9LRcA" />
+
+
+
+
+<!-- end SEO -->
+
+
+<link href="/feed.xml" type="application/atom+xml" rel="alternate" 
title="Apache incubator ServiceComb 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>
+<script 
src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/1.7.1/clipboard.min.js";></script>
+<script src="/assets/js/prism.js"></script>
+
+<script type="text/javascript" async
+  
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-MML-AM_CHTML";>
+</script>
+
+<link rel="stylesheet" 
href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css";
 
integrity="sha384-/Y6pD6FV/Vv2HJnA6t+vslU6fwYXjCFtcEpHbNJ0lyAFsXTsjBbfaDjzALeQsN6M"
 crossorigin="anonymous">
+
+<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"; 
integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN"
 crossorigin="anonymous"></script>
+<script 
src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js"; 
integrity="sha384-b/U6ypiBEHpOf/4+1nzFpr53nxSS+GLCkfwBdFNTxtclqqenISfwAzpKaMNFNmj4"
 crossorigin="anonymous"></script>
+<script 
src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/js/bootstrap.min.js"; 
integrity="sha384-h0AbiXch4ZDo7tp9hKZ4TsHbi047NrKGLO3SEJAg45jXxnGIfYzk4Si90RDIqNm1"
 crossorigin="anonymous"></script>
+<!-- For all browsers -->
+<link rel="stylesheet" href="/assets/css/main.css">
+<link rel="stylesheet" href="/assets/css/prism.css">
+
+<!--[if lte IE 9]>
+  <style>
+    /* old IE unsupported flexbox fixes */
+    .greedy-nav .site-title {
+      padding-right: 3em;
+    }
+    .greedy-nav button {
+      position: absolute;
+      top: 0;
+      right: 0;
+      height: 100%;
+    }
+  </style>
+<![endif]-->
+
+<meta http-equiv="cleartype" content="on">
+
+    <!-- start custom head snippets -->
+
+<!-- insert favicons. use http://realfavicongenerator.net/ -->
+<link 
href="https://fonts.cat.net/css?family=Roboto:400,500,700|Source+Code+Pro" 
rel="stylesheet">
+<script src="/assets/js/custom.js"></script>
+<!-- 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">
+             
+          <a class="site-title active" href="/"><img 
src="//assets/images/ServiceComb-logo-1.png"></a>
+             
+        <ul class="visible-links">
+          
+            
+            <li class="masthead__menu-item">
+              
+              
+              
+                <a href="/docs/quick-start/">Quick Start</a>
+              
+            </li>
+          
+            
+            <li class="masthead__menu-item">
+              
+              
+              
+                <a href="/users/">Users</a>
+              
+            </li>
+          
+            
+            <li class="masthead__menu-item">
+              
+              
+              
+                <a class="active" href="/developers/">Developers</a>
+              
+            </li>
+          
+            
+            <li class="masthead__menu-item">
+              
+              
+              
+                <a href="/year-archive/">Blogs</a>
+              
+            </li>
+          
+            
+            <li class="masthead__menu-item">
+              
+              
+              
+                <a href="/faqs/">FAQ</a>
+              
+            </li>
+          
+        </ul>
+        <button><div class="navicon"></div></button>
+        <ul class="hidden-links hidden"></ul>
+        <div class="nav-lang">
+          
+            
+            <a href=/cn/developers/submit-codes/>中文</a>
+          
+        </div>
+      </nav>
+    </div>
+  </div>
+</div>
+
+
+    
+
+
+
+<div id="main" role="main">
+  
+  <div class="sidebar sticky">
+      
+      <div class="back-to-home">Home > <a href="/">ServiceComb</a></div>
+      
+  
+  
+    
+      
+      
+      
+    
+    
+      
+
+<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="/developers/"><span class="nav__sub-title 
nav__sub-title-with-url">Developer Guide</span></a>
+        
+
+        
+      </li>
+    
+      <li>
+        
+          
+          
+
+          <a href="/developers/setup-develop-environment/"><span 
class="nav__sub-title nav__sub-title-with-url">Develop Environment 
Setup</span></a>
+        
+
+        
+      </li>
+    
+      <li>
+        
+          
+          
+
+          <a href="/developers/submit-codes/"><span class="nav__sub-title 
nav__sub-title-with-url">Code Submit Guide</span></a>
+        
+
+        
+      </li>
+    
+  </ul>
+</nav>
+
+    
+  
+  </div>
+
+
+
+  <article class="page" itemscope itemtype="http://schema.org/CreativeWork";>
+    <meta itemprop="headline" content="代码提交指南">
+    <meta itemprop="description" content="介绍如何向 ServiceComb 
项目提交代码">
+    
+    <meta itemprop="dateModified" content="September 08, 2017">
+
+    <div class="page__inner-wrap">
+      
+        
+          <header>
+            <h1 class="page__title" itemprop="headline">代码提交指南
+</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="#贡献途径" 
id="markdown-toc-贡献途径">贡献途径</a></li>
+  <li><a href="#运行测试" 
id="markdown-toc-运行测试">运行测试</a></li>
+  <li><a href="#pr指南" id="markdown-toc-pr指南">PR指南</a>    <ul>
+      <li><a href="#fork仓库" 
id="markdown-toc-fork仓库">Fork仓库</a></li>
+      <li><a href="#配置git和提交修改" id="markdown-toc-é…
ç½®git和提交修改">配置git和提交修改</a></li>
+      <li><a href="#创建pr" id="markdown-toc-创建pr">创建PR</a></li>
+      <li><a href="#冲突解决" 
id="markdown-toc-冲突解决">冲突解决</a></li>
+    </ul>
+  </li>
+</ul>
+
+  </nav>
+</aside>
+
+<h2 id="贡献途径">贡献途径</h2>
+<p>  ServiceComb正在不断成长中,也希望能找到更多志同道合的同伴一起成长和进步。向ServiceComb
 贡献的途径有多种:</p>
+<ul>
+  <li>完善文档。完善网站上的文档或者
项目中的介绍文档和API说明文档。å…
¶ä¸­ï¼Œç½‘站文档的完善可通过网站最底端的<strong>报告本网页问题</strong>或<strong>在Github上编辑此页</strong>对文档å†
…容进行完善。</li>
+  <li>
+    <p>实现功能特性需求或修复BUG。项目的功能特性需求或者
已发现但未修复的BUG都会在项目中的issue处看到,以<a 
href="https://github.com/ServiceComb/saga/issues";>Saga</a>项目为例,一般都会带有类似
 <strong>enhancement</strong> 或类似 <strong>bug</strong> 的æ 
‡ç­¾æ¥è¯´æ˜Žè¿™æ˜¯åŠŸèƒ½éœ€æ±‚还是BUG,读者可以结合自己的å…
´è¶£ç‚¹æ¥é€‰æ‹©ã€‚此外,您也可以通过日常使用或阅读代ç 
æ—¶å‘现BUG并以Issue的方式进行描述并针对该BUG提交PR,帮助我们进一步改进。同时,也欢迎您提出需求并在实现后提交PR。</p>
+
+    <p><img src="/assets/images/find-features-by-example.png" alt="寻觅
功能需求示例" class="align-center" /></p>
+  </li>
+</ul>
+
+<h2 id="运行测试">运行测试</h2>
+<p>  在您提交代码前,请先按ç…
§é¡¹ç›®README中说明的自动测试部分对代ç 
çš„功能性和实现上的正确性进行验证。</p>
+
+<h2 id="pr指南">PR指南</h2>
+<p>  在 <a href="https://github.com/ServiceComb";>Github</a> 
上面可以很方便地提交 <a 
href="https://help.github.com/articles/about-pull-requests/";>Pull Request 
(PR)</a>,下面将以本网站项目<a 
href="https://github.com/ServiceComb/ServiceComb.github.io";>ServiceComb/ServiceComb.github.io</a>
 为例(如果是å…
¶ä»–项目,请替换项目名ServiceComb.github.io)。</p>
+
+<h3 id="fork仓库">Fork仓库</h3>
+
+<p>  进入 ServiceComb/ServiceComb.github.io 的 <a 
href="https://github.com/ServiceComb/ServiceComb.github.io";>github 页面</a> 
,点击右上角按钮 <code class="highlighter-rouge">Fork</code> 进行 
Fork。</p>
+
+<p><img src="/assets/images/fork-repo.jpg" 
alt="体质指数应用运行界面" class="align-center" /></p>
+
+<h3 id="配置git和提交修改">配置git和提交修改</h3>
+
+<ul>
+  <li>
+    <p>将代码克隆到本地:</p>
+
+    <div class="language-shell highlighter-rouge"><pre 
class="highlight"><code>git clone 
https://github.com/&lt;your_github_name&gt;/ServiceComb.github.io.git
+</code></pre>
+    </div>
+
+    <p>注意:请将 &lt;your_github_name&gt; 
替换为您的github名字。</p>
+  </li>
+</ul>
+
+<p>  clone完成后,origin会默认指向github上的远程fork地址。</p>
+
+<ul>
+  <li>
+    <p>将 ServiceComb/ServiceComb.github.io 添加
为本地仓库的远程分支 upstream:</p>
+
+    <div class="language-shell highlighter-rouge"><pre 
class="highlight"><code><span class="nb">cd </span>ServiceComb.github.io
+git remote add upstream 
https://github.com/ServiceComb/ServiceComb.github.io.git
+</code></pre>
+    </div>
+  </li>
+  <li>
+    <p>检查远程仓库设置:</p>
+
+    <div class="language-shell highlighter-rouge"><pre 
class="highlight"><code>git remote -v
+origin https://github.com/&lt;your_github_name&gt;/ServiceComb.github.io.git 
<span class="o">(</span>fetch<span class="o">)</span>
+origin    
https://github.com/&lt;your_github_name&gt;/ServiceComb.github.io.git <span 
class="o">(</span>push<span class="o">)</span>
+upstream  https://github.com/ServiceComb/ServiceComb.github.io.git <span 
class="o">(</span>fetch<span class="o">)</span>
+upstream  https://github.com/ServiceComb/ServiceComb.github.io.git <span 
class="o">(</span>push<span class="o">)</span>
+</code></pre>
+    </div>
+  </li>
+  <li>
+    <p>新建分支以便在分支上做修改:</p>
+
+    <div class="language-shell highlighter-rouge"><pre 
class="highlight"><code>git checkout -b &lt;your_branch_name&gt;
+</code></pre>
+    </div>
+  </li>
+</ul>
+
+<p>  注意: &lt;your_branch_name&gt; 
为您自定义的分支名字。</p>
+
+<p>  创建完成后可进行代码更改。</p>
+
+<ul>
+  <li>
+    <p>提交代码到远程分支:</p>
+
+    <div class="language-shell highlighter-rouge"><pre 
class="highlight"><code>git commit -a -m <span 
class="s2">"&lt;you_commit_message&gt;"</span>
+git push origin &lt;your_branch_name&gt;
+</code></pre>
+    </div>
+  </li>
+</ul>
+
+<p>  更多 git 使用方法请访问:<a 
href="https://www.atlassian.com/git/tutorials/setting-up-a-repository";>git 
使用</a>,这里不赘述。</p>
+
+<h3 id="创建pr">创建PR</h3>
+
+<p>  在浏览器切换到自己的 github 
页面,切换分支到提交的分支 &lt;your_branch_name&gt; 
,依次点击 <code class="highlighter-rouge">New pull request</code> 和 
<code class="highlighter-rouge">Create pull request</code> 
按钮进行创建,如下图所示:</p>
+
+<p class="figure-caption"><img src="/assets/images/new-pr.jpg" 
alt="体质指数应用运行界面" class="align-center" />
+fig-1 New pull request</p>
+
+<p class="figure-caption"><img src="/assets/images/create-pr.jpg" 
alt="体质指数应用运行界面" class="align-center" />
+fig-2 Create pull request</p>
+
+<p>  至此,您的PR创建完成,更多关于 PR 请阅读 <a 
href="https://help.github.com/categories/collaborating-with-issues-and-pull-requests/";>collaborating-with-issues-and-pull-requests</a>
 。</p>
+
+<h3 id="冲突解决">冲突解决</h3>
+<p>  提交PR时的代ç 
å†²çªä¸€èˆ¬æ˜¯ç”±äºŽå¤šäººç¼–辑同一个文件引起的,解决冲突主要通过以下步骤即可:</p>
+<ol>
+  <li>切换至主分支
+    <div class="language-bash highlighter-rouge"><pre 
class="highlight"><code>git checkout master
+</code></pre>
+    </div>
+  </li>
+  <li>同步远端主分支至本地
+    <div class="language-bash highlighter-rouge"><pre 
class="highlight"><code>git pull upstream master
+</code></pre>
+    </div>
+  </li>
+  <li>切换回刚才的分支(假设分支名为fix)
+    <div class="language-bash highlighter-rouge"><pre 
class="highlight"><code>git checkout fix 
+</code></pre>
+    </div>
+  </li>
+  <li>进行rebase
+    <div class="language-bash highlighter-rouge"><pre 
class="highlight"><code>git rebase -i master
+</code></pre>
+    </div>
+    
<p>此时会弹出修改记录的文件,一般直接保存即可。然后会提示哪些文件出现了冲突,此时可打开冲突文件对冲突部分进行修改,将提示的所有冲突文件的冲突都解决后,执行</p>
+    <div class="language-bash highlighter-rouge"><pre 
class="highlight"><code>git add .
+git rebase --continue
+</code></pre>
+    </div>
+    <p>依此往复,直至屏幕出现类似 <em>rebase successful</em> 字æ 
·å³å¯ï¼Œæ­¤æ—¶æ‚¨å¯ä»¥è¿›è¡Œå¾€æäº¤PR的分支进行更新:</p>
+    <div class="language-bash highlighter-rouge"><pre 
class="highlight"><code>git push -f origin fix
+</code></pre>
+    </div>
+  </li>
+</ol>
+
+        
+      </section>
+
+      <footer class="page__meta">
+        
+        
+
+
+        
+      </footer>
+
+      
+
+      
+
+    </div>
+
+    
+  </article>
+
+  
+  
+</div>
+
+
+    <script async 
src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
+    <div align="center" style="margin: 0 0;">
+    <ins class="adsbygoogle"
+         style="display:block; border-bottom: initial;"
+         data-ad-client="ca-pub-7328585512091257"
+         data-ad-slot="3049671934"
+         data-ad-format="auto"></ins>
+    </div>
+
+    <div class="page__footer">
+      <footer>
+        <!-- start custom footer snippets -->
+
+<!-- end custom footer snippets -->
+        <div class="container">
+  <div class="row justify-content-md-center">
+    
+    <div class="col">
+      <ul>
+        <p class="header">Resources</p>
+        <li><a href="/docs/quick-start/">Quick Start</a></li>
+        <li><a href="/users/user-guide/">User Guide</a></li>
+        <li><a href="/slides/">Slides</a></li>
+        <li><a href="/users/faq/">Common Questions</a></li>
+      </ul>
+    </div>
+    <div class="col">
+      <ul>
+        <p class="header">Contribute</p>
+        <li><a 
href="https://github.com/ServiceComb/ServiceComb.github.io/issues/new?title=Issue
 with _developers/submit-codes.md">Report a Doc Issue</a></li>
+        <li><a 
href="https://github.com/ServiceComb/ServiceComb.github.io/edit/master/_developers/submit-codes.md";>Edit
 This Page on Github</a></li>
+        <li><a href="/developers/submit-codes/">Code Submit Guide</a></li>
+      </ul>
+    </div>
+    <div class="col">
+      <ul class="social-icons">
+        <p class="header">Community</p>
+        <li>
+            <a 
href="https://groups.google.com/forum/#!forum/servicecomb-developers"; 
target="_blank"><span class="group">Dev</span></a> |
+            <a 
href="https://groups.google.com/forum/#!forum/servicecomb-users"; 
target="_blank">User</span></a>
+        </li>
+        <li>
+            <a href="http://github.com/ServiceComb"; target="_blank"><span 
class="github">Github</span></a>
+        </li>
+        <li>
+            <a href="https://twitter.com/ServiceComb"; target="_blank"><span 
class="twitter">Twitter</span></a>
+        </li>
+        <li>
+            <a href="/feed.xml" target="_blank"><span 
class="rss">Feed</span></a>
+        </li>
+      </ul>
+    </div>
+  </div>
+</div>
+<div class="page__footer-bottom">
+  <div>&copy; 2017 Apache incubator ServiceComb. Powered by <a 
href="http://jekyllrb.com"; rel="nofollow">Jekyll</a> &amp; <a 
href="https://mademistakes.com/work/minimal-mistakes-jekyll-theme/"; 
rel="nofollow">Minimal Mistakes</a>.</div>
+</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','https://www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-101622733-1', 'auto');
+  ga('send', 'pageview');
+</script>
+
+
+
+
+
+
+
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-servicecomb-website/blob/08e1b43f/content/docs/autoscale-on-company/index.html
----------------------------------------------------------------------
diff --git a/content/docs/autoscale-on-company/index.html 
b/content/docs/autoscale-on-company/index.html
new file mode 100644
index 0000000..c5b79a5
--- /dev/null
+++ b/content/docs/autoscale-on-company/index.html
@@ -0,0 +1,890 @@
+<!doctype html>
+<!--
+  Minimal Mistakes Jekyll Theme 4.4.1 by Michael Rose
+  Copyright 2017 Michael Rose - mademistakes.com | @mmistakes
+  Free for personal and commercial use under the MIT license
+  https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE.txt
+-->
+<html lang="en" class="no-js">
+  <head>
+    <meta charset="utf-8">
+
+<!-- begin SEO -->
+
+
+
+
+
+
+
+
+
+<title>On-demand Resource Control for Micro-serviced Company by Autoscale - 
Apache incubator ServiceComb</title>
+
+
+
+
+<meta name="description" content="This article introduces practice of using 
kubernetes autoscale in the micro-serviced Company demo to achieve on-demand 
resource control">
+
+
+
+
+<meta name="author" content="Zen Lin">
+
+<meta property="og:locale" content="en">
+<meta property="og:site_name" content="Apache incubator ServiceComb">
+<meta property="og:title" content="On-demand Resource Control for 
Micro-serviced Company by Autoscale">
+
+
+  <link rel="canonical" 
href="http://github.com/pages/ServiceComb/servicesomb.github.io/docs/autoscale-on-company/";>
+  <meta property="og:url" 
content="http://github.com/pages/ServiceComb/servicesomb.github.io/docs/autoscale-on-company/";>
+
+
+
+  <meta property="og:description" content="This article introduces practice of 
using kubernetes autoscale in the micro-serviced Company demo to achieve 
on-demand resource control">
+
+
+
+  <meta name="twitter:site" content="@ServiceComb">
+  <meta name="twitter:title" content="On-demand Resource Control for 
Micro-serviced Company by Autoscale">
+  <meta name="twitter:description" content="This article introduces practice 
of using kubernetes autoscale in the micro-serviced Company demo to achieve 
on-demand resource control">
+  <meta name="twitter:url" content="">
+
+  
+    <meta name="twitter:card" content="summary">
+    
+  
+
+  
+    <meta name="twitter:creator" content="@">
+  
+
+
+
+  
+
+  
+
+
+
+
+
+  <meta property="og:type" content="article">
+  <meta property="article:published_time" content="2017-08-24T00:00:00+08:00">
+
+
+
+
+
+
+
+
+  <script type="application/ld+json">
+    {
+      "@context" : "http://schema.org";,
+      "@type" : "Person",
+      "name" : "Apache incubator ServiceComb",
+      "url" : "http://github.com/pages/ServiceComb/servicesomb.github.io";,
+      "sameAs" : null
+    }
+  </script>
+
+
+
+  <meta name="google-site-verification" 
content="HvJjNd7vvJ-yjSTHlBiIWEYxp_Hrz-PYEY5Idz9LRcA" />
+
+
+
+
+<!-- end SEO -->
+
+
+<link href="/feed.xml" type="application/atom+xml" rel="alternate" 
title="Apache incubator ServiceComb 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>
+<script 
src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/1.7.1/clipboard.min.js";></script>
+<script src="/assets/js/prism.js"></script>
+
+<script type="text/javascript" async
+  
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-MML-AM_CHTML";>
+</script>
+
+<link rel="stylesheet" 
href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css";
 
integrity="sha384-/Y6pD6FV/Vv2HJnA6t+vslU6fwYXjCFtcEpHbNJ0lyAFsXTsjBbfaDjzALeQsN6M"
 crossorigin="anonymous">
+
+<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"; 
integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN"
 crossorigin="anonymous"></script>
+<script 
src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js"; 
integrity="sha384-b/U6ypiBEHpOf/4+1nzFpr53nxSS+GLCkfwBdFNTxtclqqenISfwAzpKaMNFNmj4"
 crossorigin="anonymous"></script>
+<script 
src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/js/bootstrap.min.js"; 
integrity="sha384-h0AbiXch4ZDo7tp9hKZ4TsHbi047NrKGLO3SEJAg45jXxnGIfYzk4Si90RDIqNm1"
 crossorigin="anonymous"></script>
+<!-- For all browsers -->
+<link rel="stylesheet" href="/assets/css/main.css">
+<link rel="stylesheet" href="/assets/css/prism.css">
+
+<!--[if lte IE 9]>
+  <style>
+    /* old IE unsupported flexbox fixes */
+    .greedy-nav .site-title {
+      padding-right: 3em;
+    }
+    .greedy-nav button {
+      position: absolute;
+      top: 0;
+      right: 0;
+      height: 100%;
+    }
+  </style>
+<![endif]-->
+
+<meta http-equiv="cleartype" content="on">
+
+    <!-- start custom head snippets -->
+
+<!-- insert favicons. use http://realfavicongenerator.net/ -->
+<link 
href="https://fonts.cat.net/css?family=Roboto:400,500,700|Source+Code+Pro" 
rel="stylesheet">
+<script src="/assets/js/custom.js"></script>
+<!-- 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">
+             
+          <a class="site-title active" href="/"><img 
src="//assets/images/ServiceComb-logo-1.png"></a>
+             
+        <ul class="visible-links">
+          
+            
+            <li class="masthead__menu-item">
+              
+              
+              
+                <a href="/docs/quick-start/">Quick Start</a>
+              
+            </li>
+          
+            
+            <li class="masthead__menu-item">
+              
+              
+              
+                <a href="/users/">Users</a>
+              
+            </li>
+          
+            
+            <li class="masthead__menu-item">
+              
+              
+              
+                <a href="/developers/">Developers</a>
+              
+            </li>
+          
+            
+            <li class="masthead__menu-item">
+              
+              
+              
+                <a href="/year-archive/">Blogs</a>
+              
+            </li>
+          
+            
+            <li class="masthead__menu-item">
+              
+              
+              
+                <a href="/faqs/">FAQ</a>
+              
+            </li>
+          
+        </ul>
+        <button><div class="navicon"></div></button>
+        <ul class="hidden-links hidden"></ul>
+        <div class="nav-lang">
+          
+            
+            <a href=/cn/docs/autoscale-on-company/>中文</a>
+          
+        </div>
+      </nav>
+    </div>
+  </div>
+</div>
+
+
+    
+
+
+
+<div id="main" role="main">
+  
+  <div class="sidebar sticky">
+      
+      <div class="back-to-home">Home > <a href="/">ServiceComb</a></div>
+      
+  
+
+<div itemscope itemtype="http://schema.org/Person";>
+
+  
+
+  <div class="author__content">
+    <h3 class="author__name" itemprop="name">Zen Lin</h3>
+    
+      <p class="author__bio" itemprop="description">
+           
+        To enjoy in opensource community.
+           
+      </p>
+    
+  </div>
+
+  <div class="author__urls-wrapper">
+    <button class="btn btn--inverse">Follow</button>
+    <ul class="author__urls social-icons">
+      
+
+      
+        <li>
+          <a href="http://zenlintechnofreak.github.io"; itemprop="url">
+            <i class="fa fa-fw fa-chain" aria-hidden="true"></i> Website
+          </a>
+        </li>
+      
+
+      
+        <li>
+          <a href="mailto:zenlintechnofr...@gmail.com";>
+            <meta itemprop="email" content="zenlintechnofr...@gmail.com" />
+            <i class="fa fa-fw fa-envelope-square" aria-hidden="true"></i> 
Email
+          </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>
+
+
+
+  <article class="page" itemscope itemtype="http://schema.org/CreativeWork";>
+    <meta itemprop="headline" content="On-demand Resource Control for 
Micro-serviced Company by Autoscale">
+    <meta itemprop="description" content="This article introduces practice of 
using kubernetes autoscale in the micro-serviced Company demo to achieve 
on-demand resource control">
+    <meta itemprop="datePublished" content="August 24, 2017">
+    
+
+    <div class="page__inner-wrap">
+      
+        
+          <header>
+            <h1 class="page__title" itemprop="headline">On-demand Resource 
Control for Micro-serviced Company by Autoscale
+</h1>
+            
+              <p class="page__meta"><i class="fa fa-clock-o" 
aria-hidden="true"></i> 
+
+
+
+
+  3 minute read
+
+</p>
+            
+          </header>
+        
+      
+
+      <section class="page__content" itemprop="text">
+        <p>  <a href="/docs/company-on-kubernetes/">Last article</a> 
describes how to quickly deploy the Company  demo on K8S. This article will 
continue to demonstrate the benefits of micro-service architecture, use 
auto-scale of K8S  in Company to achieve on-demand fine-grained resources.</p>
+
+<h2 id="prepare">Prepare</h2>
+
+<h3 id="prepare-k8s-environment">Prepare K8S Environment</h3>
+
+<p>Install monitor Heapster and Grafana in K8S to enable auto-scale ability in 
K8S:</p>
+
+<p>Get one-click installing scripts in the <a 
href="https://github.com/zenlinTechnofreak/LinuxCon-Beijing-WorkShop/tree/autoscal/kubernetes/heapster/deploy";>author’s
 repo</a>,update value of api-server as following and run kube.sh to 
start,</p>
+
+<div class="language-bash highlighter-rouge"><pre class="highlight"><code>vi 
LinuxCon-Beijing-WorkShop/kubernetes/heapster/deploy/kube-config/influxdb/heapster.yaml
+</code></pre>
+</div>
+
+<div class="language-yaml highlighter-rouge"><pre 
class="highlight"><code><span class="s">spec</span><span class="pi">:</span>
+  <span class="s">replicas</span><span class="pi">:</span> <span 
class="s">1</span>
+  <span class="s">template</span><span class="pi">:</span>
+    <span class="s">metadata</span><span class="pi">:</span>
+      <span class="s">labels</span><span class="pi">:</span>
+        <span class="s">task</span><span class="pi">:</span> <span 
class="s">monitoring</span>
+        <span class="s">k8s-app</span><span class="pi">:</span> <span 
class="s">heapster</span>
+    <span class="s">spec</span><span class="pi">:</span>
+      <span class="s">serviceAccountName</span><span class="pi">:</span> <span 
class="s">heapster</span>
+      <span class="s">containers</span><span class="pi">:</span>
+      <span class="pi">-</span> <span class="s">name</span><span 
class="pi">:</span> <span class="s">heapster</span>
+        <span class="s">image</span><span class="pi">:</span> <span 
class="s">gcr.io/google_containers/heapster-amd64:v1.4.1</span>
+        <span class="s">imagePullPolicy</span><span class="pi">:</span> <span 
class="s">IfNotPresent</span>
+        <span class="s">command</span><span class="pi">:</span>
+        <span class="pi">-</span> <span class="s">/heapster</span>
+<span class="c1">#use 'kubernetes' directly if installed inside the 
cluster</span>
+        <span class="pi">-</span> <span class="s">--source=kubernetes</span>
+<span class="c1">#use the practical api-server address if installed outside 
the cluster</span>
+<span class="c1">#        - 
--source=kubernetes:http://10.229.43.65:6443?inClusterConfig=false</span>
+         <span class="pi">-</span> <span 
class="s">--sink=influxdb:http://monitoring-influxdb:8086</span>
+</code></pre>
+</div>
+
+<h3 id="start-company-demo">Start Company Demo</h3>
+
+<p>Download Company source code, restricted resources, creating 
auto-scaller,</p>
+
+<div class="language-shell highlighter-rouge"><pre class="highlight"><code>git 
clone https://github.com/ServiceComb/ServiceComb-Company-WorkShop.git
+
+<span class="nb">cd </span>LinuxCon-Beijing-WorkShop/kubernetes/
+
+bash start-autoscale.sh 
+</code></pre>
+</div>
+
+<p>In Company’s deployment script, filed of resources is added to limit  200 
milli-cores to each pod(1000 milli-cores equal to 1 core),</p>
+
+<div class="language-yaml highlighter-rouge"><pre class="highlight"><code>    
<span class="s">resources</span><span class="pi">:</span>
+      <span class="s">limits</span><span class="pi">:</span>
+        <span class="s">cpu</span><span class="pi">:</span> <span 
class="s">200m</span>
+</code></pre>
+</div>
+<p>In script start-autoscale.sh, each command create a Horizontal Pod 
Autoscaler that maintains between 1 and 10 replicas of the Pods controlled by 
its deployment created. HPA will increase and decrease the number of replicas 
(via the deployment) to maintain an average CPU utilization across all Pods of 
50%(this means average CPU usage of 100 milli-cores),</p>
+
+<div class="language-shell highlighter-rouge"><pre 
class="highlight"><code><span class="c"># Create Horizontal Pod 
Autoscaler</span>
+kubectl autoscale deployment zipkin --cpu-percent<span class="o">=</span>50 
--min<span class="o">=</span>1 --max<span class="o">=</span>10
+kubectl autoscale deployment company-bulletin-board --cpu-percent<span 
class="o">=</span>50 --min<span class="o">=</span>1 --max<span 
class="o">=</span>10
+kubectl autoscale deployment company-worker --cpu-percent<span 
class="o">=</span>50 --min<span class="o">=</span>1 --max<span 
class="o">=</span>10
+kubectl autoscale deployment company-doorman --cpu-percent<span 
class="o">=</span>50 --min<span class="o">=</span>1 --max<span 
class="o">=</span>10
+kubectl autoscale deployment company-manager --cpu-percent<span 
class="o">=</span>50 --min<span class="o">=</span>1 --max<span 
class="o">=</span>10
+kubectl autoscale deployment company-beekeeper --cpu-percent<span 
class="o">=</span>50 --min<span class="o">=</span>1 --max<span 
class="o">=</span>10
+</code></pre>
+</div>
+
+<p>HPA can be created after running start-autoscale.sh, get HPA status by the 
following command,</p>
+
+<div class="language-shell highlighter-rouge"><pre class="highlight"><code> 
kubectl get hpa
+</code></pre>
+</div>
+
+<h3 id="start-pressure-testing">Start Pressure Testing</h3>
+
+<div class="language-shell highlighter-rouge"><pre 
class="highlight"><code><span class="nb">export</span> <span 
class="nv">$HOST</span><span 
class="o">=</span>&lt;heapster-ip&gt;:&lt;heapster-port&gt;
+bash LinuxCon-Beijing-WorkShop/kubernetes/stress-test.sh
+</code></pre>
+</div>
+
+<p>The script enable a dead loop, request to Company to calculate fibonacci 
number 200 times in each second, causing pressure on Company,</p>
+
+<div class="language-shell highlighter-rouge"><pre 
class="highlight"><code><span class="nv">FIBONA_NUM</span><span 
class="o">=</span><span class="sb">`</span>curl -s -H <span 
class="s2">"Authorization: </span><span class="nv">$Authorization</span><span 
class="s2">"</span> -XGET <span class="s2">"http://</span><span 
class="nv">$HOST</span><span class="s2">/worker/fibonacci/term?n=6"</span><span 
class="sb">`</span>
+</code></pre>
+</div>
+
+<h2 id="testing-result">Testing Result</h2>
+
+<p>Following datas gets from  HPA and Grafana,</p>
+
+<p class="figure-caption"><img src="/assets/images/company-autoscale-1.png" 
alt="Fig 1" class="align-center" /> 
+Fig 1    HPA Data of Start-up Period</p>
+
+<p class="figure-caption"><img src="/assets/images/company-autoscale-2.png" 
alt="Fig 2" class="align-center" />
+Fig 2    Granfana Data of Start-up Period</p>
+
+<p class="figure-caption"><img src="/assets/images/company-autoscale-3.png" 
alt="Fig 3" class="align-center" />
+Fig 3    HPA  Data of middle Period</p>
+
+<p class="figure-caption"><img src="/assets/images/company-autoscale-4.png" 
alt="Fig 4" class="align-center" />
+Fig 4    Granfana Data of The End</p>
+
+<p class="figure-caption"><img src="/assets/images/company-autoscale-5.png" 
alt="Fig 5" class="align-center" />
+Fig 5    HPA Data of The End</p>
+
+<p><strong>Analyze the data to get the results,</strong></p>
+
+<ol>
+  <li>
+    <p>Pressure is focused on the pod of company-manager, auto-scaler of K8S 
increase the pods to achieve goal,  less than 50% of CPU usage limited(In fig 
5, Usage default company-manager/Request default company-manager = 192/600 
about equal to 33% in fig 4), keeping steady.</p>
+  </li>
+  <li>
+    <p>Before steady, auto-scaling may cause losing packages.</p>
+  </li>
+  <li>
+    <p>Company startup will cause temporarily increasing of the system 
resource load, so the CPU occupancy curve is showed like a crest-like, but HPA 
can accurately find the number of matching count of pods. In fig 3, count of 
pods has exceeded 3 which is actually required, and changed to 3 to keep the 
system steady.</p>
+  </li>
+  <li>
+    <p>The data of HPA and Granfana should be reported with some delay,  
official statement:</p>
+
+    <p>Starting and stopping pods may introduce noise to the metric (for 
instance, starting may temporarily increase CPU). So, after each action, the 
autoscaler should wait some time for reliable data. Scale-up can only happen if 
there was no rescaling within the last 3 minutes. Scale-down will wait for 5 
minutes from the last rescaling. Moreover any scaling will only be made 
if:<code class="highlighter-rouge">avg(CurrentPodsConsumption) / Target</code> 
drops below 0.9 or increases above 1.1 (10% tolerance).</p>
+  </li>
+</ol>
+
+<p>It is all of the demonstrate  above, anyway, Martin Fowler wrote in the <a 
href="https://martinfowler.com/articles/microservices.html";>March 2014 
article</a>:</p>
+<blockquote>
+  <p><em>“Microservices” - yet another new term on the crowded streets of 
software architecture. Although our natural inclination is to pass such things 
by with a contemptuous glance, this bit of terminology describes a style of 
software systems that we are finding more and more appealing. We’ve seen many 
projects use this style in the last few years, and results so far have been 
positive, so much so that for many of our colleagues this is becoming the 
default style for building enterprise applications. Sadly, however, there’s 
not much information that outlines what the microservice style is and how to do 
it.</em></p>
+</blockquote>
+
+<p>Mr. Wang Lei, the forerunner of domestic practice micro-service, also held 
a comprehensive discussion in the book “Micro Service Architecture and 
Practice”.</p>
+
+<p>Company based on ServiceComb, with micor-service properties, so we can 
doing  fine-grained control to the single-load serivce Company-manager, to 
achieve the purpose of on-demand, this will greatly helpful to accurately and 
effectively solve the application bottlenecks, improve the efficiency of 
resource use.</p>
+
+
+        
+      </section>
+
+      <footer class="page__meta">
+        
+        
+  
+
+
+  
+  
+  
+
+  <p class="page__taxonomy">
+    <strong><i class="fa fa-fw fa-tags" aria-hidden="true"></i> Tags: </strong>
+    <span itemprop="keywords">
+    
+      
+      
+      <a href="/tags/#autoscale" class="page__taxonomy-item" 
rel="tag">autoscale</a><span class="sep">, </span>
+    
+      
+      
+      <a href="/tags/#kubernetes" class="page__taxonomy-item" 
rel="tag">kubernetes</a>
+    
+    </span>
+  </p>
+
+
+
+
+
+        
+          
+            
+              <p class="page__date"><strong><i class="fa fa-fw fa-calendar" 
aria-hidden="true"></i> Updated:</strong> <time 
datetime="2017-08-24T00:00:00+08:00">August 24, 2017</time></p>
+            
+          
+        
+      </footer>
+
+      <section class="page__share">
+  
+    <h4 class="page__share-title">Share on</h4>
+  
+
+  <a href="https://twitter.com/intent/tweet?via=ServiceComb&text=On-demand 
Resource Control for Micro-serviced Company by Autoscale 
/docs/autoscale-on-company/" 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/autoscale-on-company/"; 
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/autoscale-on-company/"; 
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/autoscale-on-company/";
 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="/cn/docs/company-on-kubernetes/" class="pagination--pager" 
title="在kubernetes上一键式部署company
+">Previous</a>
+    
+    
+      <a href="/cn/docs/autoscale-on-company/" class="pagination--pager" 
title="微服务化后的按需精细化资源控制
+">Next</a>
+    
+  </nav>
+
+
+    </div>
+
+    
+      <div class="page__comments">
+  
+  
+    <section id="static-comments">
+      
+        <!-- Start static comments -->
+        <div class="js-comments">
+          
+        </div>
+        <!-- End static comments -->
+
+        <!-- Start new comment form -->
+        <h4 class="page__comments-title">Leave a Comment</h4>
+        <p class="small">Your email address will not be published. Required 
fields are marked <span class="required">*</span></p>
+        <form id="new_comment" class="page__comments-form js-form form" 
method="post" 
action="https://api.staticman.net/v1/entry/ServiceComb/servicesomb.github.io/master";>
+          <div class="form__spinner">
+            <i class="fa fa-spinner fa-spin fa-3x fa-fw"></i>
+            <span class="sr-only">Loading...</span>
+          </div>
+
+          <fieldset>
+            <label for="comment-form-message">Comment <small 
class="required">*</small></label>
+            <textarea type="text" rows="3" id="comment-form-message" 
name="fields[message]" tabindex="1"></textarea>
+            <div class="small help-block"><a 
href="https://daringfireball.net/projects/markdown/";>Markdown is 
supported.</a></div>
+          </fieldset>
+          <fieldset>
+            <label for="comment-form-name">Name <small 
class="required">*</small></label>
+            <input type="text" id="comment-form-name" name="fields[name]" 
tabindex="2" />
+          </fieldset>
+          <fieldset>
+            <label for="comment-form-email">Email address <small 
class="required">*</small></label>
+            <input type="email" id="comment-form-email" name="fields[email]" 
tabindex="3" />
+          </fieldset>
+          <fieldset>
+            <label for="comment-form-url">Website (optional)</label>
+            <input type="url" id="comment-form-url" name="fields[url]" 
tabindex="4"/>
+          </fieldset>
+          <fieldset class="hidden" style="display: none;">
+            <input type="hidden" name="options[slug]" 
value="autoscale-on-company">
+            <label for="comment-form-location">Not used. Leave blank if you 
are a human.</label>
+            <input type="text" id="comment-form-location" 
name="fields[hidden]" autocomplete="off"/>
+          </fieldset>
+          <!-- Start comment form alert messaging -->
+          <p class="hidden js-notice">
+            <strong class="js-notice-text"></strong>
+          </p>
+          <!-- End comment form alert messaging -->
+          <fieldset>
+            <button type="submit" id="comment-form-submit" tabindex="5" 
class="btn btn--large">Submit Comment</button>
+          </fieldset>
+        </form>
+        <!-- End new comment form -->
+      
+    </section>
+  
+</div>
+
+    
+  </article>
+
+  
+  
+    <div class="page__related">
+      <h4 class="page__related-title">You May Also Enjoy</h4>
+      <div class="grid__wrapper">
+        
+          
+
+
+
+<div class="grid__item">
+  <article class="archive__item" itemscope 
itemtype="http://schema.org/CreativeWork";>
+    
+    <h2 class="archive__item-title" itemprop="headline">
+      
+        <a href="/cn/docs/jira_beginner_guide/" rel="permalink">老司机带你
刷任务 - ServiceComb JIRA入门指南
+</a>
+      
+    </h2>
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb JIRAå…
¥é—¨æŒ‡å—
+</p>
+    
+      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
+
+
+
+
+  less than 1 minute read
+
+</p>
+    
+  </article>
+</div>
+
+        
+          
+
+
+
+<div class="grid__item">
+  <article class="archive__item" itemscope 
itemtype="http://schema.org/CreativeWork";>
+    
+    <h2 class="archive__item-title" itemprop="headline">
+      
+        <a href="/docs/service-center-ui/" rel="permalink">Service-Center 
Management UI Console
+</a>
+      
+    </h2>
+    <p class="archive__item-excerpt" itemprop="description">An introduction 
Service-Center Management Console
+</p>
+    
+      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
+
+
+
+
+  2 minute read
+
+</p>
+    
+  </article>
+</div>
+
+        
+          
+
+
+
+<div class="grid__item">
+  <article class="archive__item" itemscope 
itemtype="http://schema.org/CreativeWork";>
+    
+    <h2 class="archive__item-title" itemprop="headline">
+      
+        <a href="/docs/service-center-ui/" rel="permalink">Service-Center 
Management UI Console
+</a>
+      
+    </h2>
+    <p class="archive__item-excerpt" itemprop="description">An introduction 
Service-Center Management Console
+</p>
+    
+      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
+
+
+
+
+  2 minute read
+
+</p>
+    
+  </article>
+</div>
+
+        
+          
+
+
+
+<div class="grid__item">
+  <article class="archive__item" itemscope 
itemtype="http://schema.org/CreativeWork";>
+    
+    <h2 class="archive__item-title" itemprop="headline">
+      
+        <a href="/cn/docs/how-to-reform-a-legacy-system/" 
rel="permalink">最头疼的遗留系统该如何改造?
+</a>
+      
+    </h2>
+    <p class="archive__item-excerpt" 
itemprop="description">微服务是否是业界期待已久
的企业架构解决方案?在对遗留系统进行微服务的改造
过程中存在怎样的困难和挑战,应该注意些什么?
+</p>
+    
+      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
+
+
+
+
+  1 minute read
+
+</p>
+    
+  </article>
+</div>
+
+        
+      </div>
+    </div>
+  
+</div>
+
+
+    <script async 
src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
+    <div align="center" style="margin: 0 0;">
+    <ins class="adsbygoogle"
+         style="display:block; border-bottom: initial;"
+         data-ad-client="ca-pub-7328585512091257"
+         data-ad-slot="3049671934"
+         data-ad-format="auto"></ins>
+    </div>
+
+    <div class="page__footer">
+      <footer>
+        <!-- start custom footer snippets -->
+
+<!-- end custom footer snippets -->
+        <div class="container">
+  <div class="row justify-content-md-center">
+    
+    <div class="col">
+      <ul>
+        <p class="header">Resources</p>
+        <li><a href="/docs/quick-start/">Quick Start</a></li>
+        <li><a href="/users/user-guide/">User Guide</a></li>
+        <li><a href="/slides/">Slides</a></li>
+        <li><a href="/users/faq/">Common Questions</a></li>
+      </ul>
+    </div>
+    <div class="col">
+      <ul>
+        <p class="header">Contribute</p>
+        <li><a 
href="https://github.com/ServiceComb/ServiceComb.github.io/issues/new?title=Issue
 with _posts/2017-08-24-autoscale-on-company.md">Report a Doc Issue</a></li>
+        <li><a 
href="https://github.com/ServiceComb/ServiceComb.github.io/edit/master/_posts/2017-08-24-autoscale-on-company.md";>Edit
 This Page on Github</a></li>
+        <li><a href="/developers/submit-codes/">Code Submit Guide</a></li>
+      </ul>
+    </div>
+    <div class="col">
+      <ul class="social-icons">
+        <p class="header">Community</p>
+        <li>
+            <a 
href="https://groups.google.com/forum/#!forum/servicecomb-developers"; 
target="_blank"><span class="group">Dev</span></a> |
+            <a 
href="https://groups.google.com/forum/#!forum/servicecomb-users"; 
target="_blank">User</span></a>
+        </li>
+        <li>
+            <a href="http://github.com/ServiceComb"; target="_blank"><span 
class="github">Github</span></a>
+        </li>
+        <li>
+            <a href="https://twitter.com/ServiceComb"; target="_blank"><span 
class="twitter">Twitter</span></a>
+        </li>
+        <li>
+            <a href="/feed.xml" target="_blank"><span 
class="rss">Feed</span></a>
+        </li>
+      </ul>
+    </div>
+  </div>
+</div>
+<div class="page__footer-bottom">
+  <div>&copy; 2017 Apache incubator ServiceComb. Powered by <a 
href="http://jekyllrb.com"; rel="nofollow">Jekyll</a> &amp; <a 
href="https://mademistakes.com/work/minimal-mistakes-jekyll-theme/"; 
rel="nofollow">Minimal Mistakes</a>.</div>
+</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','https://www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-101622733-1', 'auto');
+  ga('send', 'pageview');
+</script>
+
+
+
+
+
+
+
+  
+  <script>
+    (function ($) {
+    var $comments = $('.js-comments');
+
+    $('#new_comment').submit(function () {
+      var form = this;
+
+      $(form).addClass('disabled');
+      $('#comment-form-submit').html('<i class="fa fa-spinner fa-spin 
fa-fw"></i> Loading...');
+
+      $.ajax({
+        type: $(this).attr('method'),
+        url: $(this).attr('action'),
+        data: $(this).serialize(),
+        contentType: 'application/x-www-form-urlencoded',
+        success: function (data) {
+          $('#comment-form-submit').html('Submitted');
+          $('.page__comments-form .js-notice').removeClass('notice--danger');
+          $('.page__comments-form .js-notice').addClass('notice--success');
+          showAlert('Thanks for your comment! It will show on the site once it 
has been approved.');
+        },
+        error: function (err) {
+          console.log(err);
+          $('#comment-form-submit').html('Submit Comment');
+          $('.page__comments-form .js-notice').removeClass('notice--success');
+          $('.page__comments-form .js-notice').addClass('notice--danger');
+          showAlert('Sorry, there was an error with your submission. Please 
make sure all required fields have been completed and try again.');
+          $(form).removeClass('disabled');
+        }
+      });
+
+      return false;
+    });
+
+    function showAlert(message) {
+      $('.page__comments-form .js-notice').removeClass('hidden');
+      $('.page__comments-form .js-notice-text').html(message);
+    }
+  })(jQuery);
+  </script>
+
+
+
+
+
+
+
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-servicecomb-website/blob/08e1b43f/content/docs/communication-btw-sc-ms/index.html
----------------------------------------------------------------------
diff --git a/content/docs/communication-btw-sc-ms/index.html 
b/content/docs/communication-btw-sc-ms/index.html
new file mode 100644
index 0000000..e9be8b0
--- /dev/null
+++ b/content/docs/communication-btw-sc-ms/index.html
@@ -0,0 +1,792 @@
+<!doctype html>
+<!--
+  Minimal Mistakes Jekyll Theme 4.4.1 by Michael Rose
+  Copyright 2017 Michael Rose - mademistakes.com | @mmistakes
+  Free for personal and commercial use under the MIT license
+  https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE.txt
+-->
+<html lang="en" class="no-js">
+  <head>
+    <meta charset="utf-8">
+
+<!-- begin SEO -->
+
+
+
+
+
+
+
+
+
+<title>Communication Between Service-Center and MicroServices - Apache 
incubator ServiceComb</title>
+
+
+
+
+<meta name="description" content="An introduction of how service-center and 
microservices work together">
+
+
+
+
+<meta name="author" content="Asif Siddiqui">
+
+<meta property="og:locale" content="en">
+<meta property="og:site_name" content="Apache incubator ServiceComb">
+<meta property="og:title" content="Communication Between Service-Center and 
MicroServices">
+
+
+  <link rel="canonical" 
href="http://github.com/pages/ServiceComb/servicesomb.github.io/docs/communication-btw-sc-ms/";>
+  <meta property="og:url" 
content="http://github.com/pages/ServiceComb/servicesomb.github.io/docs/communication-btw-sc-ms/";>
+
+
+
+  <meta property="og:description" content="An introduction of how 
service-center and microservices work together">
+
+
+
+  <meta name="twitter:site" content="@ServiceComb">
+  <meta name="twitter:title" content="Communication Between Service-Center and 
MicroServices">
+  <meta name="twitter:description" content="An introduction of how 
service-center and microservices work together">
+  <meta name="twitter:url" content="">
+
+  
+    <meta name="twitter:card" content="summary">
+    
+  
+
+  
+    <meta name="twitter:creator" content="@asif_diatm">
+  
+
+
+
+  
+
+  
+
+
+
+
+
+  <meta property="og:type" content="article">
+  <meta property="article:published_time" content="2017-08-09T00:00:00+08:00">
+
+
+
+
+
+
+
+
+  <script type="application/ld+json">
+    {
+      "@context" : "http://schema.org";,
+      "@type" : "Person",
+      "name" : "Apache incubator ServiceComb",
+      "url" : "http://github.com/pages/ServiceComb/servicesomb.github.io";,
+      "sameAs" : null
+    }
+  </script>
+
+
+
+  <meta name="google-site-verification" 
content="HvJjNd7vvJ-yjSTHlBiIWEYxp_Hrz-PYEY5Idz9LRcA" />
+
+
+
+
+<!-- end SEO -->
+
+
+<link href="/feed.xml" type="application/atom+xml" rel="alternate" 
title="Apache incubator ServiceComb 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>
+<script 
src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/1.7.1/clipboard.min.js";></script>
+<script src="/assets/js/prism.js"></script>
+
+<script type="text/javascript" async
+  
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-MML-AM_CHTML";>
+</script>
+
+<link rel="stylesheet" 
href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css";
 
integrity="sha384-/Y6pD6FV/Vv2HJnA6t+vslU6fwYXjCFtcEpHbNJ0lyAFsXTsjBbfaDjzALeQsN6M"
 crossorigin="anonymous">
+
+<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"; 
integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN"
 crossorigin="anonymous"></script>
+<script 
src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js"; 
integrity="sha384-b/U6ypiBEHpOf/4+1nzFpr53nxSS+GLCkfwBdFNTxtclqqenISfwAzpKaMNFNmj4"
 crossorigin="anonymous"></script>
+<script 
src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/js/bootstrap.min.js"; 
integrity="sha384-h0AbiXch4ZDo7tp9hKZ4TsHbi047NrKGLO3SEJAg45jXxnGIfYzk4Si90RDIqNm1"
 crossorigin="anonymous"></script>
+<!-- For all browsers -->
+<link rel="stylesheet" href="/assets/css/main.css">
+<link rel="stylesheet" href="/assets/css/prism.css">
+
+<!--[if lte IE 9]>
+  <style>
+    /* old IE unsupported flexbox fixes */
+    .greedy-nav .site-title {
+      padding-right: 3em;
+    }
+    .greedy-nav button {
+      position: absolute;
+      top: 0;
+      right: 0;
+      height: 100%;
+    }
+  </style>
+<![endif]-->
+
+<meta http-equiv="cleartype" content="on">
+
+    <!-- start custom head snippets -->
+
+<!-- insert favicons. use http://realfavicongenerator.net/ -->
+<link 
href="https://fonts.cat.net/css?family=Roboto:400,500,700|Source+Code+Pro" 
rel="stylesheet">
+<script src="/assets/js/custom.js"></script>
+<!-- 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">
+             
+          <a class="site-title active" href="/"><img 
src="//assets/images/ServiceComb-logo-1.png"></a>
+             
+        <ul class="visible-links">
+          
+            
+            <li class="masthead__menu-item">
+              
+              
+              
+                <a href="/docs/quick-start/">Quick Start</a>
+              
+            </li>
+          
+            
+            <li class="masthead__menu-item">
+              
+              
+              
+                <a href="/users/">Users</a>
+              
+            </li>
+          
+            
+            <li class="masthead__menu-item">
+              
+              
+              
+                <a href="/developers/">Developers</a>
+              
+            </li>
+          
+            
+            <li class="masthead__menu-item">
+              
+              
+              
+                <a href="/year-archive/">Blogs</a>
+              
+            </li>
+          
+            
+            <li class="masthead__menu-item">
+              
+              
+              
+                <a href="/faqs/">FAQ</a>
+              
+            </li>
+          
+        </ul>
+        <button><div class="navicon"></div></button>
+        <ul class="hidden-links hidden"></ul>
+        <div class="nav-lang">
+          
+            
+            <a href=/cn/docs/communication-btw-sc-ms/>中文</a>
+          
+        </div>
+      </nav>
+    </div>
+  </div>
+</div>
+
+
+    
+
+
+
+<div id="main" role="main">
+  
+  <div class="sidebar sticky">
+      
+      <div class="back-to-home">Home > <a href="/">ServiceComb</a></div>
+      
+  
+
+<div itemscope itemtype="http://schema.org/Person";>
+
+  
+
+  <div class="author__content">
+    <h3 class="author__name" itemprop="name">Asif Siddiqui</h3>
+    
+      <p class="author__bio" itemprop="description">
+           
+        Gopher, PaaS and Microservice
+           
+      </p>
+    
+  </div>
+
+  <div class="author__urls-wrapper">
+    <button class="btn btn--inverse">Follow</button>
+    <ul class="author__urls social-icons">
+      
+
+      
+        <li>
+          <a href="http://asifdxtreme.github.io"; itemprop="url">
+            <i class="fa fa-fw fa-chain" aria-hidden="true"></i> Website
+          </a>
+        </li>
+      
+
+      
+        <li>
+          <a href="mailto:mohammad.asif.siddiq...@huawei.com";>
+            <meta itemprop="email" 
content="mohammad.asif.siddiq...@huawei.com" />
+            <i class="fa fa-fw fa-envelope-square" aria-hidden="true"></i> 
Email
+          </a>
+        </li>
+      
+
+      
+
+      
+        <li>
+          <a href="https://twitter.com/asif_diatm"; itemprop="sameAs">
+            <i class="fa fa-fw fa-twitter-square" aria-hidden="true"></i> 
Twitter
+          </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>
+
+
+
+  <article class="page" itemscope itemtype="http://schema.org/CreativeWork";>
+    <meta itemprop="headline" content="Communication Between Service-Center 
and MicroServices">
+    <meta itemprop="description" content="An introduction of how 
service-center and microservices work together">
+    <meta itemprop="datePublished" content="August 09, 2017">
+    <meta itemprop="dateModified" content="August 09, 2017">
+
+    <div class="page__inner-wrap">
+      
+        
+          <header>
+            <h1 class="page__title" itemprop="headline">Communication Between 
Service-Center and MicroServices
+</h1>
+            
+              <p class="page__meta"><i class="fa fa-clock-o" 
aria-hidden="true"></i> 
+
+
+
+
+  1 minute read
+
+</p>
+            
+          </header>
+        
+      
+
+      <section class="page__content" itemprop="text">
+        <p>Service-Center(<a 
href="https://github.com/ServiceComb/service-center";>SC</a>) is a service 
registry that allows services to register their instance information and to 
discover providers of a given service.
+SC uses etcd to store all the information of micro-service and its instances. 
Below is the diagram stating the working principles and flow of SC.</p>
+
+<h4 id="on-startup">On StartUp</h4>
+<p>Here we assume that micro-services are written using <a 
href="https://github.com/ServiceComb/java-chassis";>java-chassis</a> sdk. So 
when micro-service boots up then java-chassis sdk does the following list of 
tasks.</p>
+
+<ol>
+  <li>
+    <p>On startup provider registers the micro-service to SC if not registered 
earlier and also register its instance information like its Ip and Port on 
which instance is running.</p>
+  </li>
+  <li>
+    <p>SC stores the provider information in etcd.</p>
+  </li>
+  <li>
+    <p>On startup consumer retrieves the list of all provider instance from SC 
using the micro-service name of the provider.</p>
+  </li>
+  <li>
+    <p>Consumer sdk stores all the information of provider instances in its 
cache.</p>
+  </li>
+  <li>
+    <p>Consumer sdk creates a web socket connection to SC to watch all the 
provider instance information, if there is any change in the provider then sdk 
updates it’s cache information.</p>
+  </li>
+</ol>
+
+<p><img src="/assets/images/onStartup.PNG" alt="OnStartup" 
class="align-center" /></p>
+
+<h4 id="communication-between-consumer---provider">Communication between 
Consumer -&gt; Provider</h4>
+<p>Once the bootup is successful then the consumer can communicate with 
providers flawlessly, below is the diagram illustrating the communication 
between provider and consumer.</p>
+
+<p><img src="/assets/images/communication.PNG" alt="Communication" 
class="align-center" /></p>
+
+<p>Provider instance regularly sends heartbeat signal every 30 seconds to SC, 
if SC does not recieve the heartbeat for particular instance then the 
information in etcd expires and the provider instance information is 
removed.<br />
+Consumer watches the information of provider instances from SC and if there is 
any change then the cache is updated.<br />
+When Consumer needs to communicate to Provider then consumer reads endpoints 
of the provider instances from cache and do loadbalancing to communicate to 
Provider.</p>
+
+        
+      </section>
+
+      <footer class="page__meta">
+        
+        
+  
+
+
+  
+  
+  
+
+  <p class="page__taxonomy">
+    <strong><i class="fa fa-fw fa-tags" aria-hidden="true"></i> Tags: </strong>
+    <span itemprop="keywords">
+    
+      
+      
+      <a href="/tags/#service-center" class="page__taxonomy-item" 
rel="tag">service center</a>
+    
+    </span>
+  </p>
+
+
+
+
+
+        
+          
+            
+              <p class="page__date"><strong><i class="fa fa-fw fa-calendar" 
aria-hidden="true"></i> Updated:</strong> <time datetime="2017-08-09">August 
09, 2017</time></p>
+            
+          
+        
+      </footer>
+
+      <section class="page__share">
+  
+    <h4 class="page__share-title">Share on</h4>
+  
+
+  <a href="https://twitter.com/intent/tweet?via=ServiceComb&text=Communication 
Between Service-Center and MicroServices /docs/communication-btw-sc-ms/" 
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/communication-btw-sc-ms/";
 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/communication-btw-sc-ms/"; 
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/communication-btw-sc-ms/";
 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="/cn/docs/tracing-with-servicecomb/" class="pagination--pager" 
title="基于 ServiceComb 和 Zipkin 的分布式调用链追踪
+">Previous</a>
+    
+    
+      <a href="/cn/docs/communication-btw-sc-ms/" class="pagination--pager" 
title="Communication Between Service-Center and MicroServices
+">Next</a>
+    
+  </nav>
+
+
+    </div>
+
+    
+      <div class="page__comments">
+  
+  
+    <section id="static-comments">
+      
+        <!-- Start static comments -->
+        <div class="js-comments">
+          
+        </div>
+        <!-- End static comments -->
+
+        <!-- Start new comment form -->
+        <h4 class="page__comments-title">Leave a Comment</h4>
+        <p class="small">Your email address will not be published. Required 
fields are marked <span class="required">*</span></p>
+        <form id="new_comment" class="page__comments-form js-form form" 
method="post" 
action="https://api.staticman.net/v1/entry/ServiceComb/servicesomb.github.io/master";>
+          <div class="form__spinner">
+            <i class="fa fa-spinner fa-spin fa-3x fa-fw"></i>
+            <span class="sr-only">Loading...</span>
+          </div>
+
+          <fieldset>
+            <label for="comment-form-message">Comment <small 
class="required">*</small></label>
+            <textarea type="text" rows="3" id="comment-form-message" 
name="fields[message]" tabindex="1"></textarea>
+            <div class="small help-block"><a 
href="https://daringfireball.net/projects/markdown/";>Markdown is 
supported.</a></div>
+          </fieldset>
+          <fieldset>
+            <label for="comment-form-name">Name <small 
class="required">*</small></label>
+            <input type="text" id="comment-form-name" name="fields[name]" 
tabindex="2" />
+          </fieldset>
+          <fieldset>
+            <label for="comment-form-email">Email address <small 
class="required">*</small></label>
+            <input type="email" id="comment-form-email" name="fields[email]" 
tabindex="3" />
+          </fieldset>
+          <fieldset>
+            <label for="comment-form-url">Website (optional)</label>
+            <input type="url" id="comment-form-url" name="fields[url]" 
tabindex="4"/>
+          </fieldset>
+          <fieldset class="hidden" style="display: none;">
+            <input type="hidden" name="options[slug]" 
value="communication-btw-sc-ms">
+            <label for="comment-form-location">Not used. Leave blank if you 
are a human.</label>
+            <input type="text" id="comment-form-location" 
name="fields[hidden]" autocomplete="off"/>
+          </fieldset>
+          <!-- Start comment form alert messaging -->
+          <p class="hidden js-notice">
+            <strong class="js-notice-text"></strong>
+          </p>
+          <!-- End comment form alert messaging -->
+          <fieldset>
+            <button type="submit" id="comment-form-submit" tabindex="5" 
class="btn btn--large">Submit Comment</button>
+          </fieldset>
+        </form>
+        <!-- End new comment form -->
+      
+    </section>
+  
+</div>
+
+    
+  </article>
+
+  
+  
+    <div class="page__related">
+      <h4 class="page__related-title">You May Also Enjoy</h4>
+      <div class="grid__wrapper">
+        
+          
+
+
+
+<div class="grid__item">
+  <article class="archive__item" itemscope 
itemtype="http://schema.org/CreativeWork";>
+    
+    <h2 class="archive__item-title" itemprop="headline">
+      
+        <a href="/cn/docs/jira_beginner_guide/" rel="permalink">老司机带你
刷任务 - ServiceComb JIRA入门指南
+</a>
+      
+    </h2>
+    <p class="archive__item-excerpt" itemprop="description">ServiceComb JIRAå…
¥é—¨æŒ‡å—
+</p>
+    
+      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
+
+
+
+
+  less than 1 minute read
+
+</p>
+    
+  </article>
+</div>
+
+        
+          
+
+
+
+<div class="grid__item">
+  <article class="archive__item" itemscope 
itemtype="http://schema.org/CreativeWork";>
+    
+    <h2 class="archive__item-title" itemprop="headline">
+      
+        <a href="/docs/service-center-ui/" rel="permalink">Service-Center 
Management UI Console
+</a>
+      
+    </h2>
+    <p class="archive__item-excerpt" itemprop="description">An introduction 
Service-Center Management Console
+</p>
+    
+      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
+
+
+
+
+  2 minute read
+
+</p>
+    
+  </article>
+</div>
+
+        
+          
+
+
+
+<div class="grid__item">
+  <article class="archive__item" itemscope 
itemtype="http://schema.org/CreativeWork";>
+    
+    <h2 class="archive__item-title" itemprop="headline">
+      
+        <a href="/docs/service-center-ui/" rel="permalink">Service-Center 
Management UI Console
+</a>
+      
+    </h2>
+    <p class="archive__item-excerpt" itemprop="description">An introduction 
Service-Center Management Console
+</p>
+    
+      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
+
+
+
+
+  2 minute read
+
+</p>
+    
+  </article>
+</div>
+
+        
+          
+
+
+
+<div class="grid__item">
+  <article class="archive__item" itemscope 
itemtype="http://schema.org/CreativeWork";>
+    
+    <h2 class="archive__item-title" itemprop="headline">
+      
+        <a href="/cn/docs/how-to-reform-a-legacy-system/" 
rel="permalink">最头疼的遗留系统该如何改造?
+</a>
+      
+    </h2>
+    <p class="archive__item-excerpt" 
itemprop="description">微服务是否是业界期待已久
的企业架构解决方案?在对遗留系统进行微服务的改造
过程中存在怎样的困难和挑战,应该注意些什么?
+</p>
+    
+      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 
+
+
+
+
+  1 minute read
+
+</p>
+    
+  </article>
+</div>
+
+        
+      </div>
+    </div>
+  
+</div>
+
+
+    <script async 
src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
+    <div align="center" style="margin: 0 0;">
+    <ins class="adsbygoogle"
+         style="display:block; border-bottom: initial;"
+         data-ad-client="ca-pub-7328585512091257"
+         data-ad-slot="3049671934"
+         data-ad-format="auto"></ins>
+    </div>
+
+    <div class="page__footer">
+      <footer>
+        <!-- start custom footer snippets -->
+
+<!-- end custom footer snippets -->
+        <div class="container">
+  <div class="row justify-content-md-center">
+    
+    <div class="col">
+      <ul>
+        <p class="header">Resources</p>
+        <li><a href="/docs/quick-start/">Quick Start</a></li>
+        <li><a href="/users/user-guide/">User Guide</a></li>
+        <li><a href="/slides/">Slides</a></li>
+        <li><a href="/users/faq/">Common Questions</a></li>
+      </ul>
+    </div>
+    <div class="col">
+      <ul>
+        <p class="header">Contribute</p>
+        <li><a 
href="https://github.com/ServiceComb/ServiceComb.github.io/issues/new?title=Issue
 with _posts/2017-08-09-communication-btw-sc-ms.md">Report a Doc Issue</a></li>
+        <li><a 
href="https://github.com/ServiceComb/ServiceComb.github.io/edit/master/_posts/2017-08-09-communication-btw-sc-ms.md";>Edit
 This Page on Github</a></li>
+        <li><a href="/developers/submit-codes/">Code Submit Guide</a></li>
+      </ul>
+    </div>
+    <div class="col">
+      <ul class="social-icons">
+        <p class="header">Community</p>
+        <li>
+            <a 
href="https://groups.google.com/forum/#!forum/servicecomb-developers"; 
target="_blank"><span class="group">Dev</span></a> |
+            <a 
href="https://groups.google.com/forum/#!forum/servicecomb-users"; 
target="_blank">User</span></a>
+        </li>
+        <li>
+            <a href="http://github.com/ServiceComb"; target="_blank"><span 
class="github">Github</span></a>
+        </li>
+        <li>
+            <a href="https://twitter.com/ServiceComb"; target="_blank"><span 
class="twitter">Twitter</span></a>
+        </li>
+        <li>
+            <a href="/feed.xml" target="_blank"><span 
class="rss">Feed</span></a>
+        </li>
+      </ul>
+    </div>
+  </div>
+</div>
+<div class="page__footer-bottom">
+  <div>&copy; 2017 Apache incubator ServiceComb. Powered by <a 
href="http://jekyllrb.com"; rel="nofollow">Jekyll</a> &amp; <a 
href="https://mademistakes.com/work/minimal-mistakes-jekyll-theme/"; 
rel="nofollow">Minimal Mistakes</a>.</div>
+</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','https://www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-101622733-1', 'auto');
+  ga('send', 'pageview');
+</script>
+
+
+
+
+
+
+
+  
+  <script>
+    (function ($) {
+    var $comments = $('.js-comments');
+
+    $('#new_comment').submit(function () {
+      var form = this;
+
+      $(form).addClass('disabled');
+      $('#comment-form-submit').html('<i class="fa fa-spinner fa-spin 
fa-fw"></i> Loading...');
+
+      $.ajax({
+        type: $(this).attr('method'),
+        url: $(this).attr('action'),
+        data: $(this).serialize(),
+        contentType: 'application/x-www-form-urlencoded',
+        success: function (data) {
+          $('#comment-form-submit').html('Submitted');
+          $('.page__comments-form .js-notice').removeClass('notice--danger');
+          $('.page__comments-form .js-notice').addClass('notice--success');
+          showAlert('Thanks for your comment! It will show on the site once it 
has been approved.');
+        },
+        error: function (err) {
+          console.log(err);
+          $('#comment-form-submit').html('Submit Comment');
+          $('.page__comments-form .js-notice').removeClass('notice--success');
+          $('.page__comments-form .js-notice').addClass('notice--danger');
+          showAlert('Sorry, there was an error with your submission. Please 
make sure all required fields have been completed and try again.');
+          $(form).removeClass('disabled');
+        }
+      });
+
+      return false;
+    });
+
+    function showAlert(message) {
+      $('.page__comments-form .js-notice').removeClass('hidden');
+      $('.page__comments-form .js-notice-text').html(message);
+    }
+  })(jQuery);
+  </script>
+
+
+
+
+
+
+
+  </body>
+</html>

Reply via email to