<!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 ServiceComb</title>




<meta name="description" content="The homepage of ServiceComb">




<meta name="author" content="">

<meta property="og:locale" content="en">
<meta property="og:site_name" content="Apache ServiceComb">
<meta property="og:title" content="Apache ServiceComb">


  <link rel="canonical" href="https://github.com/pages/apache/incubator-servicecomb-website/year-archive/">
  <meta property="og:url" content="https://github.com/pages/apache/incubator-servicecomb-website/year-archive/">





  <meta name="twitter:site" content="@ServiceComb">
  <meta name="twitter:title" content="Apache ServiceComb">
  <meta name="twitter:description" content="The homepage of 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 ServiceComb",
      "url" : "https://github.com/pages/apache/incubator-servicecomb-website",
      "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 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/vendor/prism/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?v=1">
<link rel="stylesheet" href="/assets/vendor/prism/prism.css?v=1">

<!--[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--archive">

    <!--[if lt IE 9]>
<div class="notice--danger align-center" style="margin: 0;">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</div>
<![endif]-->
    <div class="masthead" onmouseleave="$('#childrenShow').css('display', 'none')">
  <div class="masthead__inner-wrap">
    <div class="masthead__menu">
      <nav id="site-nav" class="greedy-nav">
	      
          <a class="site-title active" href="/"><img src="https://www.apache.org/img/servicecomb.png"></a>
	      
        <ul class="visible-links">
          
            
          
          
            
              <li class="masthead__menu-item" onmouseenter="$('#childrenShow').css('display', 'none')">
                
                  <a href="/">Home</a>
                
              </li>
            
          
            
          
          
            
              <li class="masthead__menu-item" onmouseenter="$('#childrenShow').css('display', 'none')">
                
                  <a href="/developers/">Projects</a>
                
              </li>
            
          
            
          
          
            
            <li class="def-nav-li" onmouseenter="$('#childrenShow').css('display', 'block')">
              
              
              

              
                <a href="/docs/users/">Documentation</a>
              

              <ul id="childrenShow" class="def-children-show" onmouseleave="$('#childrenShow').css('display', 'none')">
                
                <li><a href="/docs/getting-started/" class="">getting started</a></li>
                
                <li><a href="/docs/users/" class="">Docs</a></li>
                
                <li><a href="/slides/" class="">Video</a></li>
                
                <li><a href="/faqs/" class="">FAQ</a></li>
                
              </ul>
            </li>
          
          
            
          
          
            
              <li class="masthead__menu-item" onmouseenter="$('#childrenShow').css('display', 'none')">
                
                  <a href="/developers/contributing">Community</a>
                
              </li>
            
          
            
          
          
            
              <li class="masthead__menu-item" onmouseenter="$('#childrenShow').css('display', 'none')">
                
                  <a class="active" href="/year-archive/">Blogs</a>
                
              </li>
            
          
            
          
          
            
              <li class="masthead__menu-item" onmouseenter="$('#childrenShow').css('display', 'none')">
                
                  <a href="/release/">Downloads</a>
                
              </li>
            
          
        </ul>
        <button><div class="navicon"></div></button>
        <ul class="hidden-links hidden"></ul>
        <div class="nav-lang">
          
            
            <a href=/cn/year-archive/>中文</a>
          
        </div>
      </nav>
    </div>
  </div>
</div>


    



<div id="main" role="main">
  
  <div class="sidebar sticky">
      
      <div class="back-to-home"><a href="/">Home</a> > </div>
      
  

<div itemscope itemtype="http://schema.org/Person">

  
    <div class="author__avatar">
      
        <img src="/assets/images/ServiceComb-logo-3.jpg" class="author__avatar" alt="" itemprop="image">
      
    </div>
  

  <div class="author__content">
    <h3 class="author__name" itemprop="name"></h3>
    
      <p class="author__bio" itemprop="description">
	    
        ServiceComb is a microservice framework that provides service registration, discovery, configuration and management utilities.
	    
      </p>
    
  </div>

  <div class="author__urls-wrapper">
    <button class="btn btn--inverse">Follow</button>
    <ul class="author__urls social-icons">
      
        <li itemprop="homeLocation" itemscope itemtype="http://schema.org/Place">
        
          <i class="fa fa-fw fa-map-marker" aria-hidden="true"></i> <span itemprop="name">China</span>
        
        </li>
      

      

      
        <li>
          <a href="mailto:dev@servicecomb.apache.org">
            <meta itemprop="email" content="dev@servicecomb.apache.org" />
            <i class="fa fa-fw fa-envelope-square" aria-hidden="true"></i> Email
          </a>
        </li>
      

      

      

      

      

      

      

      

      

      

      
        <li>
          <a href="https://github.com/search?q=org:apache+ServiceComb&unscoped_q=ServiceComb" itemprop="sameAs">
            <i class="fa fa-fw fa-github" aria-hidden="true"></i> GitHub<br>
          </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>

  
    
      
      
      
    
    
      

<nav class="nav__list">
  
  <input id="ac-toc" name="accordion-toc" type="checkbox" />
  <label for="ac-toc">Toggle Menu</label>
  <ul class="nav__items">
    
  </ul>
</nav>

    
  
  </div>



  <div class="archive">
    
      <h1 class="page__title" itemprop="headline"></h1>
    
    <ul class="nav nav-tabs">
    <li data-toggle="tab" class="active title"><a data-toggle="tab" href="#postByYear">Posts by Year</a></li>
    <li data-toggle="tab" class="title"><a data-toggle="tab" href="#postByTag">Posts by Tag</a></li>
</ul>

<div class="tab-content">
    <div id="postByYear" class="tab-pane active">
        
        
        
          
          
            <h2 id="2019" class="archive__subtitle">2019</h2>
            
          
          



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/servicecomb-accept-newcapec-institute-code-donation/" rel="permalink">Apache ServiceComb Accept Code Donation From NewCapec Institute
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Accept Code Donation From NewCapec Institute
</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="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/Apache-ServiceComb-Meetup-2019-Shanghai-Report/" rel="permalink">Apache ServiceComb Meetup -Shanghai 2019.09.20 Report (PPT Download)
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup -Shanghai 2019.09.20 Report (PPT)
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  2 minute read

</p>
    
  </article>
</div>

        
          
          
          



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PDF Download)
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  2 minute read

</p>
    
  </article>
</div>

        
          
          
          



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  1 minute read

</p>
    
  </article>
</div>

        
          
          
          



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Consul
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Consul
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  1 minute read

</p>
    
  </article>
</div>

        
          
          
          



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/servicecomb-pack-cluster/" rel="permalink">ServiceComb Pack 0.4.0 Cluster : Implementation
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">This article describes how to use the ServiceComb Pack 0.4.0 cluster and how it works
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  5 minute read

</p>
    
  </article>
</div>

        
          
          
          



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/chuanzhiboke-servicecomb-tutoria-release/" rel="permalink">Apache ServiceComb community joint chuanzhiboke sub-brand Itheima, Boxuegu and Wisdom Gathering release micro-service tutorial
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">Chuanzhiboke and Apache ServiceComb course and technical resources co-construction ceremony ended successfully
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  1 minute read

</p>
    
  </article>
</div>

        
          
          
            <h2 id="2018" class="archive__subtitle">2018</h2>
            
          
          



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/Apache-ServiceComb-Meetup-2018-Shanghai-Report/" rel="permalink">Apache ServiceComb Meetup -Shanghai 2018.10.12 Report (PPT Download)
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup Report (PPT)
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  2 minute read

</p>
    
  </article>
</div>

        
          
          
          



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/osi-microservices/" rel="permalink">OpenSource India Summit: Hands-on Apache ServiceComb(Incubating) MicroServices Workshop
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">OpenSource India Summit: Hands-on Apache ServiceComb(Incubating) MicroServices Workshop
</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="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/Apache-ServiceComb-Meetup-2018-Shanghai/" rel="permalink">Apache ServiceComb (incubating) Meetup -Shanghai 2018.10.12
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb (incubating) Meetup
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  4 minute read

</p>
    
  </article>
</div>

        
          
          
          



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/release-note-1-0-0/" rel="permalink">[Milestone] Apache ServiceComb (incubating) Release Version 1.0.0
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb (incubating) enters new stage
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  4 minute read

</p>
    
  </article>
</div>

        
          
          
          



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/apache-servicecomb-incubating-day-report/" rel="permalink">Apache ServiceComb (incubating) Day Report
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb (incubating) Day Report
</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="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/apache-servicecomb-incubating-day/" rel="permalink">Microservice Meetup: Detailed Agenda of Apache ServiceComb (incubating) Day
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">Real time updated information of Apache ServiceComb (incubating) Day
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  4 minute read

</p>
    
  </article>
</div>

        
          
          
          



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/howto-upgrade-topzipkin2/" rel="permalink">Howto Upgrade to Zipkin2
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">Changes between v1 and v2 of zipkin and how Java Chassis upgraded to zipkin2
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  3 minute read

</p>
    
  </article>
</div>

        
          
          
            <h2 id="2017" class="archive__subtitle">2017</h2>
            
          
          



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/service-registry-refactor-proposal/" rel="permalink">Proposal for refactoring service registry module in Java Chassis
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">Analysis of service registry and propose a new architecture for it
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  2 minute read

</p>
    
  </article>
</div>

        
          
          
          



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/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="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/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> 




  less than 1 minute read

</p>
    
  </article>
</div>

        
          
          
          



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/distributed_saga_3/" rel="permalink">Eventual Data Consistency Solution in ServiceComb - part 3
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">How is distributed saga in ServiceComb comparing with other consistency solutions?
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  5 minute read

</p>
    
  </article>
</div>

        
          
          
          



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/distributed_saga_2/" rel="permalink">Eventual Data Consistency Solution in ServiceComb - part 2
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">The design of distributed saga in ServiceComb
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  4 minute read

</p>
    
  </article>
</div>

        
          
          
          



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/distributed_saga_1/" rel="permalink">Eventual Data Consistency Solution in ServiceComb - part 1
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">The background of data consistency problem in the scenario of microservice architecture
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  5 minute read

</p>
    
  </article>
</div>

        
          
          
          



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/seckill-development-journey-part-III/" rel="permalink">SecKill Develop Journey (III)
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">an introduction how build seckill demo project step by step
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  2 minute read

</p>
    
  </article>
</div>

        
          
          
          



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/seckill-development-journey-part-II/" rel="permalink">SecKill Develop Journey  (II)
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">an introduction how to build seckill demo project step by step
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  1 minute read

</p>
    
  </article>
</div>

        
          
          
          



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/seckill-development-journey-part-I/" rel="permalink">SecKill Development Journey (I)
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">an introduction of how to build seckill demo project step by step
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  2 minute read

</p>
    
  </article>
</div>

        
          
          
          



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/stress-test-on-company-with-jmeter-in-k8s/" rel="permalink">Stress test on Company Demo with Jmeter in Kubernetes Cluster
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">An introduction of how to do stress test on company demo with jmeter in kubernetes cluster
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  6 minute read

</p>
    
  </article>
</div>

        
          
          
          



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/autoscale-on-company/" rel="permalink">On-demand Resource Control for Micro-serviced Company by Autoscale
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">This article introduces practice of using kubernetes autoscale in the micro-serviced Company demo to achieve on-demand resource control
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  3 minute read

</p>
    
  </article>
</div>

        
          
          
          



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/company-on-kubernetes/" rel="permalink">One-click Deployment at Kubernetes
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">This blog will introduce how to deploy company based on ServiceComb in the kubernetes cluster, and intercom communication of company
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  3 minute read

</p>
    
  </article>
</div>

        
          
          
          



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/communication-btw-sc-ms/" rel="permalink">Communication Between Service-Center and MicroServices
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">An introduction of how service-center and microservices work together
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  1 minute read

</p>
    
  </article>
</div>

        
          
          
          



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/tracing-with-servicecomb/" rel="permalink">Distributed Tracing with ServiceComb and Zipkin
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">A introduction of how to set up distributed tracing with ServiceComb and Zipkin
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  3 minute read

</p>
    
  </article>
</div>

        
          
          
          



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/go-to-cloud/" rel="permalink">单体应用利用ServiceComb实现微服务化和云化之路
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">该文档演示：从已有基于spring boot的单体应用利用ServiceComb实现微服务化和云化之路
</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="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/linuxcon-workshop-demo/" rel="permalink">Linux Con Workshop Demo
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">A step by step guide on how to use ServiceComb to develop a complete project
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  6 minute read

</p>
    
  </article>
</div>

        
    </div>
    <div id="postByTag" class="tab-pane fade">
        
        
        <!--
# Jekyll Group-By-Array 0.1.0
# https://github.com/mushishi78/jekyll-group-by-array
# © 2015 Max White <mushishi78@gmail.com>
# MIT License
-->

<!-- Initialize -->




<!-- Map -->


<!-- Flatten -->


<!-- Uniq -->



<!-- If not equal to previous then it must be unique as sorted -->


<!-- Push to group_names -->






<!-- If not equal to previous then it must be unique as sorted -->


<!-- Push to group_names -->






<!-- If not equal to previous then it must be unique as sorted -->


<!-- Push to group_names -->






<!-- If not equal to previous then it must be unique as sorted -->





<!-- If not equal to previous then it must be unique as sorted -->


<!-- Push to group_names -->






<!-- If not equal to previous then it must be unique as sorted -->


<!-- Push to group_names -->






<!-- If not equal to previous then it must be unique as sorted -->


<!-- Push to group_names -->






<!-- If not equal to previous then it must be unique as sorted -->





<!-- If not equal to previous then it must be unique as sorted -->





<!-- If not equal to previous then it must be unique as sorted -->





<!-- If not equal to previous then it must be unique as sorted -->





<!-- If not equal to previous then it must be unique as sorted -->





<!-- If not equal to previous then it must be unique as sorted -->





<!-- If not equal to previous then it must be unique as sorted -->


<!-- Push to group_names -->






<!-- If not equal to previous then it must be unique as sorted -->


<!-- Push to group_names -->






<!-- If not equal to previous then it must be unique as sorted -->


<!-- Push to group_names -->






<!-- If not equal to previous then it must be unique as sorted -->





<!-- If not equal to previous then it must be unique as sorted -->





<!-- If not equal to previous then it must be unique as sorted -->


<!-- Push to group_names -->






<!-- If not equal to previous then it must be unique as sorted -->


<!-- Push to group_names -->






<!-- If not equal to previous then it must be unique as sorted -->


<!-- Push to group_names -->






<!-- If not equal to previous then it must be unique as sorted -->


<!-- Push to group_names -->






<!-- If not equal to previous then it must be unique as sorted -->


<!-- Push to group_names -->






<!-- If not equal to previous then it must be unique as sorted -->


<!-- Push to group_names -->






<!-- If not equal to previous then it must be unique as sorted -->


<!-- Push to group_names -->






<!-- If not equal to previous then it must be unique as sorted -->





<!-- If not equal to previous then it must be unique as sorted -->


<!-- Push to group_names -->






<!-- If not equal to previous then it must be unique as sorted -->





<!-- If not equal to previous then it must be unique as sorted -->





<!-- If not equal to previous then it must be unique as sorted -->





<!-- If not equal to previous then it must be unique as sorted -->





<!-- If not equal to previous then it must be unique as sorted -->





<!-- If not equal to previous then it must be unique as sorted -->





<!-- If not equal to previous then it must be unique as sorted -->





<!-- If not equal to previous then it must be unique as sorted -->





<!-- If not equal to previous then it must be unique as sorted -->


<!-- Push to group_names -->






<!-- If not equal to previous then it must be unique as sorted -->


<!-- Push to group_names -->






<!-- If not equal to previous then it must be unique as sorted -->


<!-- Push to group_names -->






<!-- If not equal to previous then it must be unique as sorted -->


<!-- Push to group_names -->






<!-- If not equal to previous then it must be unique as sorted -->


<!-- Push to group_names -->






<!-- If not equal to previous then it must be unique as sorted -->





<!-- If not equal to previous then it must be unique as sorted -->





<!-- If not equal to previous then it must be unique as sorted -->


<!-- Push to group_names -->






<!-- If not equal to previous then it must be unique as sorted -->





<!-- If not equal to previous then it must be unique as sorted -->





<!-- If not equal to previous then it must be unique as sorted -->


<!-- Push to group_names -->






<!-- If not equal to previous then it must be unique as sorted -->





<!-- If not equal to previous then it must be unique as sorted -->


<!-- Push to group_names -->






<!-- If not equal to previous then it must be unique as sorted -->


<!-- Push to group_names -->






<!-- If not equal to previous then it must be unique as sorted -->






<!-- group_items -->


<!-- Collect if contains -->



<!-- Push to group_items -->



<!-- Collect if contains -->



<!-- Push to group_items -->



<!-- Collect if contains -->



<!-- Push to group_items -->



<!-- Collect if contains -->



<!-- Push to group_items -->



<!-- Collect if contains -->



<!-- Push to group_items -->



<!-- Collect if contains -->



<!-- Push to group_items -->



<!-- Collect if contains -->



<!-- Push to group_items -->



<!-- Collect if contains -->



<!-- Push to group_items -->



<!-- Collect if contains -->



<!-- Push to group_items -->



<!-- Collect if contains -->



<!-- Push to group_items -->



<!-- Collect if contains -->



<!-- Push to group_items -->



<!-- Collect if contains -->



<!-- Push to group_items -->



<!-- Collect if contains -->



<!-- Push to group_items -->



<!-- Collect if contains -->



<!-- Push to group_items -->



<!-- Collect if contains -->



<!-- Push to group_items -->



<!-- Collect if contains -->



<!-- Push to group_items -->



<!-- Collect if contains -->



<!-- Push to group_items -->



<!-- Collect if contains -->



<!-- Push to group_items -->



<!-- Collect if contains -->



<!-- Push to group_items -->



<!-- Collect if contains -->



<!-- Push to group_items -->



<!-- Collect if contains -->



<!-- Push to group_items -->



<!-- Collect if contains -->



<!-- Push to group_items -->



<!-- Collect if contains -->



<!-- Push to group_items -->



<!-- Collect if contains -->



<!-- Push to group_items -->



<!-- Collect if contains -->



<!-- Push to group_items -->



<!-- Collect if contains -->



<!-- Push to group_items -->



        
          
          <h2 id="cluster" class="archive__subtitle">Cluster</h2>
          
            



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/servicecomb-pack-cluster/" rel="permalink">ServiceComb Pack 0.4.0 Cluster : Implementation
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">This article describes how to use the ServiceComb Pack 0.4.0 cluster and how it works
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  5 minute read

</p>
    
  </article>
</div>

          
        
          
          <h2 id="consul" class="archive__subtitle">Consul</h2>
          
            



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Consul
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Consul
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  1 minute read

</p>
    
  </article>
</div>

          
        
          
          <h2 id="discovery" class="archive__subtitle">Discovery</h2>
          
            



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  1 minute read

</p>
    
  </article>
</div>

          
            



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Consul
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Consul
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  1 minute read

</p>
    
  </article>
</div>

          
        
          
          <h2 id="eureka" class="archive__subtitle">Eureka</h2>
          
            



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  1 minute read

</p>
    
  </article>
</div>

          
        
          
          <h2 id="huawei-cloud" class="archive__subtitle">Huawei Cloud</h2>
          
            



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/go-to-cloud/" rel="permalink">单体应用利用ServiceComb实现微服务化和云化之路
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">该文档演示：从已有基于spring boot的单体应用利用ServiceComb实现微服务化和云化之路
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  less than 1 minute read

</p>
    
  </article>
</div>

          
        
          
          <h2 id="meetup" class="archive__subtitle">Meetup</h2>
          
            



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/Apache-ServiceComb-Meetup-2019-Shanghai-Report/" rel="permalink">Apache ServiceComb Meetup -Shanghai 2019.09.20 Report (PPT Download)
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup -Shanghai 2019.09.20 Report (PPT)
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  2 minute read

</p>
    
  </article>
</div>

          
            



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PDF Download)
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  2 minute read

</p>
    
  </article>
</div>

          
            



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/Apache-ServiceComb-Meetup-2018-Shanghai-Report/" rel="permalink">Apache ServiceComb Meetup -Shanghai 2018.10.12 Report (PPT Download)
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup Report (PPT)
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  2 minute read

</p>
    
  </article>
</div>

          
            



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/osi-microservices/" rel="permalink">OpenSource India Summit: Hands-on Apache ServiceComb(Incubating) MicroServices Workshop
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">OpenSource India Summit: Hands-on Apache ServiceComb(Incubating) MicroServices Workshop
</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="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/Apache-ServiceComb-Meetup-2018-Shanghai/" rel="permalink">Apache ServiceComb (incubating) Meetup -Shanghai 2018.10.12
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb (incubating) Meetup
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  4 minute read

</p>
    
  </article>
</div>

          
            



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/apache-servicecomb-incubating-day-report/" rel="permalink">Apache ServiceComb (incubating) Day Report
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb (incubating) Day Report
</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="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/apache-servicecomb-incubating-day/" rel="permalink">Microservice Meetup: Detailed Agenda of Apache ServiceComb (incubating) Day
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">Real time updated information of Apache ServiceComb (incubating) Day
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  4 minute read

</p>
    
  </article>
</div>

          
        
          
          <h2 id="microservice" class="archive__subtitle">Microservice</h2>
          
            



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report/" rel="permalink">Apache ServiceComb Meetup - Shanghai 2019.06.24 Report (PDF Download)
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  2 minute read

</p>
    
  </article>
</div>

          
        
          
          <h2 id="reform-legacy-system" class="archive__subtitle">Reform legacy system</h2>
          
            



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/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> 




  less than 1 minute read

</p>
    
  </article>
</div>

          
        
          
          <h2 id="servicecomb-pack" class="archive__subtitle">ServiceComb Pack</h2>
          
            



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/servicecomb-pack-eureka/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Eureka
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Eurek
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  1 minute read

</p>
    
  </article>
</div>

          
            



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/servicecomb-pack-consul/" rel="permalink">ServiceComb Pack 0.4.0 Integrated Discovery Service : Consul
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">ServiceComb Pack Integrated Discovery Service Consul
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  1 minute read

</p>
    
  </article>
</div>

          
            



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/servicecomb-pack-cluster/" rel="permalink">ServiceComb Pack 0.4.0 Cluster : Implementation
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">This article describes how to use the ServiceComb Pack 0.4.0 cluster and how it works
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  5 minute read

</p>
    
  </article>
</div>

          
        
          
          <h2 id="autoscale" class="archive__subtitle">autoscale</h2>
          
            



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/autoscale-on-company/" rel="permalink">On-demand Resource Control for Micro-serviced Company by Autoscale
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">This article introduces practice of using kubernetes autoscale in the micro-serviced Company demo to achieve on-demand resource control
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  3 minute read

</p>
    
  </article>
</div>

          
        
          
          <h2 id="course" class="archive__subtitle">course</h2>
          
            



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/chuanzhiboke-servicecomb-tutoria-release/" rel="permalink">Apache ServiceComb community joint chuanzhiboke sub-brand Itheima, Boxuegu and Wisdom Gathering release micro-service tutorial
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">Chuanzhiboke and Apache ServiceComb course and technical resources co-construction ceremony ended successfully
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  1 minute read

</p>
    
  </article>
</div>

          
        
          
          <h2 id="demo" class="archive__subtitle">demo</h2>
          
            



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/linuxcon-workshop-demo/" rel="permalink">Linux Con Workshop Demo
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">A step by step guide on how to use ServiceComb to develop a complete project
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  6 minute read

</p>
    
  </article>
</div>

          
        
          
          <h2 id="deployment" class="archive__subtitle">deployment</h2>
          
            



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/company-on-kubernetes/" rel="permalink">One-click Deployment at Kubernetes
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">This blog will introduce how to deploy company based on ServiceComb in the kubernetes cluster, and intercom communication of company
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  3 minute read

</p>
    
  </article>
</div>

          
        
          
          <h2 id="distributed-tracing" class="archive__subtitle">distributed tracing</h2>
          
            



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/tracing-with-servicecomb/" rel="permalink">Distributed Tracing with ServiceComb and Zipkin
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">A introduction of how to set up distributed tracing with ServiceComb and Zipkin
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  3 minute read

</p>
    
  </article>
</div>

          
        
          
          <h2 id="jmeter" class="archive__subtitle">jmeter</h2>
          
            



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/stress-test-on-company-with-jmeter-in-k8s/" rel="permalink">Stress test on Company Demo with Jmeter in Kubernetes Cluster
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">An introduction of how to do stress test on company demo with jmeter in kubernetes cluster
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  6 minute read

</p>
    
  </article>
</div>

          
        
          
          <h2 id="kubernetes" class="archive__subtitle">kubernetes</h2>
          
            



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/autoscale-on-company/" rel="permalink">On-demand Resource Control for Micro-serviced Company by Autoscale
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">This article introduces practice of using kubernetes autoscale in the micro-serviced Company demo to achieve on-demand resource control
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  3 minute read

</p>
    
  </article>
</div>

          
            



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/company-on-kubernetes/" rel="permalink">One-click Deployment at Kubernetes
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">This blog will introduce how to deploy company based on ServiceComb in the kubernetes cluster, and intercom communication of company
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  3 minute read

</p>
    
  </article>
</div>

          
        
          
          <h2 id="microservice" class="archive__subtitle">microservice</h2>
          
            



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/servicecomb-accept-newcapec-institute-code-donation/" rel="permalink">Apache ServiceComb Accept Code Donation From NewCapec Institute
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Accept Code Donation From NewCapec Institute
</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="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/Apache-ServiceComb-Meetup-2019-Shanghai-Report/" rel="permalink">Apache ServiceComb Meetup -Shanghai 2019.09.20 Report (PPT Download)
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup -Shanghai 2019.09.20 Report (PPT)
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  2 minute read

</p>
    
  </article>
</div>

          
            



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/chuanzhiboke-servicecomb-tutoria-release/" rel="permalink">Apache ServiceComb community joint chuanzhiboke sub-brand Itheima, Boxuegu and Wisdom Gathering release micro-service tutorial
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">Chuanzhiboke and Apache ServiceComb course and technical resources co-construction ceremony ended successfully
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  1 minute read

</p>
    
  </article>
</div>

          
            



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/Apache-ServiceComb-Meetup-2018-Shanghai-Report/" rel="permalink">Apache ServiceComb Meetup -Shanghai 2018.10.12 Report (PPT Download)
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb Meetup Report (PPT)
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  2 minute read

</p>
    
  </article>
</div>

          
            



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/osi-microservices/" rel="permalink">OpenSource India Summit: Hands-on Apache ServiceComb(Incubating) MicroServices Workshop
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">OpenSource India Summit: Hands-on Apache ServiceComb(Incubating) MicroServices Workshop
</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="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/Apache-ServiceComb-Meetup-2018-Shanghai/" rel="permalink">Apache ServiceComb (incubating) Meetup -Shanghai 2018.10.12
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb (incubating) Meetup
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  4 minute read

</p>
    
  </article>
</div>

          
            



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/release-note-1-0-0/" rel="permalink">[Milestone] Apache ServiceComb (incubating) Release Version 1.0.0
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb (incubating) enters new stage
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  4 minute read

</p>
    
  </article>
</div>

          
            



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/apache-servicecomb-incubating-day-report/" rel="permalink">Apache ServiceComb (incubating) Day Report
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb (incubating) Day Report
</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="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/apache-servicecomb-incubating-day/" rel="permalink">Microservice Meetup: Detailed Agenda of Apache ServiceComb (incubating) Day
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">Real time updated information of Apache ServiceComb (incubating) Day
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  4 minute read

</p>
    
  </article>
</div>

          
        
          
          <h2 id="performance-test" class="archive__subtitle">performance test</h2>
          
            



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/stress-test-on-company-with-jmeter-in-k8s/" rel="permalink">Stress test on Company Demo with Jmeter in Kubernetes Cluster
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">An introduction of how to do stress test on company demo with jmeter in kubernetes cluster
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  6 minute read

</p>
    
  </article>
</div>

          
        
          
          <h2 id="refactor" class="archive__subtitle">refactor</h2>
          
            



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/service-registry-refactor-proposal/" rel="permalink">Proposal for refactoring service registry module in Java Chassis
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">Analysis of service registry and propose a new architecture for it
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  2 minute read

</p>
    
  </article>
</div>

          
        
          
          <h2 id="release" class="archive__subtitle">release</h2>
          
            



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/release-note-1-0-0/" rel="permalink">[Milestone] Apache ServiceComb (incubating) Release Version 1.0.0
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb (incubating) enters new stage
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  4 minute read

</p>
    
  </article>
</div>

          
        
          
          <h2 id="report" class="archive__subtitle">report</h2>
          
            



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/apache-servicecomb-incubating-day-report/" rel="permalink">Apache ServiceComb (incubating) Day Report
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb (incubating) Day Report
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  less than 1 minute read

</p>
    
  </article>
</div>

          
        
          
          <h2 id="saga" class="archive__subtitle">saga</h2>
          
            



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/distributed_saga_3/" rel="permalink">Eventual Data Consistency Solution in ServiceComb - part 3
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">How is distributed saga in ServiceComb comparing with other consistency solutions?
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  5 minute read

</p>
    
  </article>
</div>

          
            



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/distributed_saga_2/" rel="permalink">Eventual Data Consistency Solution in ServiceComb - part 2
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">The design of distributed saga in ServiceComb
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  4 minute read

</p>
    
  </article>
</div>

          
            



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/distributed_saga_1/" rel="permalink">Eventual Data Consistency Solution in ServiceComb - part 1
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">The background of data consistency problem in the scenario of microservice architecture
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  5 minute read

</p>
    
  </article>
</div>

          
        
          
          <h2 id="seckill" class="archive__subtitle">seckill</h2>
          
            



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/seckill-development-journey-part-III/" rel="permalink">SecKill Develop Journey (III)
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">an introduction how build seckill demo project step by step
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  2 minute read

</p>
    
  </article>
</div>

          
            



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/seckill-development-journey-part-II/" rel="permalink">SecKill Develop Journey  (II)
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">an introduction how to build seckill demo project step by step
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  1 minute read

</p>
    
  </article>
</div>

          
            



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/seckill-development-journey-part-I/" rel="permalink">SecKill Development Journey (I)
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">an introduction of how to build seckill demo project step by step
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  2 minute read

</p>
    
  </article>
</div>

          
        
          
          <h2 id="service-center" class="archive__subtitle">service center</h2>
          
            



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/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="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/communication-btw-sc-ms/" rel="permalink">Communication Between Service-Center and MicroServices
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">An introduction of how service-center and microservices work together
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  1 minute read

</p>
    
  </article>
</div>

          
        
          
          <h2 id="version" class="archive__subtitle">version</h2>
          
            



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/release-note-1-0-0/" rel="permalink">[Milestone] Apache ServiceComb (incubating) Release Version 1.0.0
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">Apache ServiceComb (incubating) enters new stage
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  4 minute read

</p>
    
  </article>
</div>

          
        
          
          <h2 id="zipkin" class="archive__subtitle">zipkin</h2>
          
            



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/howto-upgrade-topzipkin2/" rel="permalink">Howto Upgrade to Zipkin2
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">Changes between v1 and v2 of zipkin and how Java Chassis upgraded to zipkin2
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  3 minute read

</p>
    
  </article>
</div>

          
            



<div class="list__item">
  <article class="archive__item" itemscope itemtype="http://schema.org/CreativeWork">
    
    <h2 class="archive__item-title" itemprop="headline">
      
        <a href="/docs/tracing-with-servicecomb/" rel="permalink">Distributed Tracing with ServiceComb and Zipkin
</a>
      
    </h2>
    <p class="archive__item-excerpt" itemprop="description">A introduction of how to set up distributed tracing with ServiceComb and Zipkin
</p>
    
      <p class="page__meta"><i class="fa fa-clock-o" aria-hidden="true"></i> 




  3 minute read

</p>
    
  </article>
</div>

          
        
    </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/getting-started/">Getting started</a></li>
        <li><a href="/docs/users/">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">ASF</p>
        <li><a href="http://www.apache.org">Foundation</a></li>
        <li><a href="http://www.apache.org/licenses/">License</a></li>
        <li><a href="http://www.apache.org/events/current-event">Events</a></li>
        <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
        <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
      </ul>
    </div>
    <div class="col">
      <ul>
        <p class="header">Contribute</p>
        <li><a href="http://issues.apache.org/jira/browse/SCB">Report a Doc Issue</a></li>
        <li><a href="https://github.com/apache/servicecomb-website/edit/master/_pages/year-archive.html">Edit This Page on Github</a></li>
        <li><a href="/developers/submit-codes/">Code Submit Guide</a></li>
        <li><a href="/security">Security</a></li>
      </ul>
    </div>
    <div class="col">
      <ul class="social-icons">
        <p class="header">Community</p>
        <li>
            <a href="mailto:dev-subscribe@servicecomb.incubator.apache.org" rel="nofollow"><span class="mail">Mailing List</span></a>
        </li>
        <li>
            <a href="https://github.com/apache?q=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; 2019 Apache 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>All other marks mentioned may be trademarks or registered trademarks of their respective owners.</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>
