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




<meta name="description" content="Describe how to use the service management capabilities provided by mesher">




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

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


  <link rel="canonical" href="https://github.com/pages/apache/incubator-servicecomb-website/docs/products/mesher/service-management/">
  <meta property="og:url" content="https://github.com/pages/apache/incubator-servicecomb-website/docs/products/mesher/service-management/">



  <meta property="og:description" content="Describe how to use the service management capabilities provided by mesher">



  <meta name="twitter:site" content="@ServiceComb">
  <meta name="twitter:title" content="Service Management">
  <meta name="twitter:description" content="Describe how to use the service management capabilities provided by mesher">
  <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--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" 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 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/docs/products/mesher/service-management/>中文</a>
          
        </div>
      </nav>
    </div>
  </div>
</div>


    



<div id="main" role="main">
  
  <div class="sidebar sticky">
      
      <div class="back-to-home"><a href="/">Home</a> > Service Management</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="/docs/getting-started/"><span class="nav__sub-title nav__sub-title-with-url">Getting Started</span></a>
        

        
      </li>
    
      <li>
        
          <span class="nav__sub-title">Service Center</span>
        

        
        <ul>
          
            
            

            
            

            <li><a href="/docs/products/service-center/install/" class="">Install</a></li>
          
            
            

            
            

            <li><a href="/docs/products/service-center/registration-discovery/" class="">Registration&Discovery</a></li>
          
        </ul>
        
      </li>
    
      <li>
        
          <span class="nav__sub-title">Java Chassis</span>
        

        
        <ul>
          
            
            

            
            

            <li><a href="/docs/products/java-chassis/quick-start/" class="">getting started</a></li>
          
            
            

            
            

            <li><a href="/docs/products/java-chassis/bmi/" class="">Develop microservice application in minutes</a></li>
          
            
            

            
            

            <li><a href="/docs/products/java-chassis/advance/" class="">Advance microservice development</a></li>
          
            
            

            
            

            <li><a href="/docs/products/java-chassis/load-balance/" class="">Load Balance</a></li>
          
            
            

            
            

            <li><a href="/docs/products/java-chassis/flow-control/" class="">Flow Control</a></li>
          
            
            

            
            

            <li><a href="/docs/products/java-chassis/service-management/" class="">Service Management</a></li>
          
            
            

            
            

            <li><a href="/docs/products/java-chassis/distributed-tracing/" class="">Distributed Tracing</a></li>
          
        </ul>
        
      </li>
    
      <li>
        
          <span class="nav__sub-title">Mesher</span>
        

        
        <ul>
          
            
            

            
            

            <li><a href="/docs/products/mesher/quick-start/" class="">getting started</a></li>
          
            
            

            
            

            <li><a href="/docs/products/mesher/advance/" class="">mesher Advance</a></li>
          
            
            

            
            

            <li><a href="/docs/products/mesher/load-balance/" class="">mesher balance</a></li>
          
            
            

            
            

            <li><a href="/docs/products/mesher/flow-control/" class="">mesher Flow Control</a></li>
          
            
            

            
            

            <li><a href="/docs/products/mesher/service-management/" class="active">mesher Service Management</a></li>
          
            
            

            
            

            <li><a href="/docs/products/mesher/distributed-tracing/" class="">mesher Distributed Tracing</a></li>
          
        </ul>
        
      </li>
    
      <li>
        
          <span class="nav__sub-title">Toolkit</span>
        

        
        <ul>
          
            
            

            
            

            <li><a href="/docs/products/toolkit/quick-start/" class="">Quick Start</a></li>
          
            
            

            
            

            <li><a href="/docs/products/toolkit/oas-validator/" class="">OpenAPI V3 Spec validation tools</a></li>
          
        </ul>
        
      </li>
    
      <li>
        
          <span class="nav__sub-title">Syncer</span>
        

        
        <ul>
          
            
            

            
            

            <li><a href="/docs/products/syncer/quick-start/" class="">Quick Start</a></li>
          
            
            

            
            

            <li><a href="/docs/products/syncer/multi-servicecenters/" class="">Different service centers communicate with each other</a></li>
          
        </ul>
        
      </li>
    
  </ul>
</nav>

    
  
  </div>



  <article class="page" itemscope itemtype="http://schema.org/CreativeWork">
    <meta itemprop="headline" content="Service Management">
    <meta itemprop="description" content="Describe how to use the service management capabilities provided by mesher">
    
    <meta itemprop="dateModified" content="August 08, 2019">

    <div class="page__inner-wrap">
      
        
          <header>
            <h1 class="page__title" itemprop="headline">Service Management
</h1>
            
          </header>
        
      

      <section class="page__content" itemprop="text">
        <ul>
  <li>Service management is mainly used to effectively control and manage a large number of microservices in distributed systems. This guide will show you how to use the service management capabilities provided by <strong>mesher</strong>.</li>
</ul>

<h1 id="before-you-start">Before you start</h1>

<ul>
  <li>Walk through <a href="/docs/products/mesher/quick-start/">mesher-quick-start</a>, <a href="/docs/products/mesher/load-balance/">mesher-load-balance</a> and have <strong>mesher display programs</strong> running.</li>
</ul>

<h1 id="grayscale-release">Grayscale release</h1>

<h2 id="configuration">Configuration</h2>

<ul>
  <li>
    <p>1 Change the version number to <strong>1.1.1</strong> and <strong>1.1.2</strong> respectively in conf <strong>microservice.yaml</strong> of two <strong>mesher_calculator</strong> instances. Restart the mesher service and you can see that the service version number has changed in <strong>servicecenter</strong>.</p>

    <p><img src="/assets/images/mesher/mesher-ser-manage-ver.png" alt="mesher-ser-manage-ver" /></p>
  </li>
  <li>
    <p>2 Change weight options in configuration file router.yaml of mesher_webapp. Then restart service.</p>

    <div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="na">routeRule</span><span class="pi">:</span>
  <span class="na">calculator</span><span class="pi">:</span>        <span class="c1">#service name</span>
    <span class="pi">-</span> <span class="na">precedence</span><span class="pi">:</span> <span class="m">2</span>    <span class="c1">#precedence of route rule</span>
      <span class="na">route</span><span class="pi">:</span>           <span class="c1">#route rule list</span>
      <span class="pi">-</span> <span class="na">tags</span><span class="pi">:</span>
          <span class="na">version</span><span class="pi">:</span> <span class="s">1.1.1</span>
        <span class="na">weight</span><span class="pi">:</span> <span class="m">70</span>     <span class="c1">#weight of 20%</span>
      <span class="pi">-</span> <span class="na">tags</span><span class="pi">:</span>
          <span class="na">version</span><span class="pi">:</span> <span class="s">1.1.2</span>
        <span class="na">weight</span><span class="pi">:</span> <span class="m">30</span>     <span class="c1">#weight of 20%</span>
</code></pre></div>    </div>
  </li>
</ul>

<h2 id="verification">Verification</h2>

<ul>
  <li>Click the <em>Submit</em> button repeatedly and you can see that the BMI Instance ID keep changing according to the weight configuration.</li>
</ul>

<h1 id="circuit-breaker">Circuit breaker</h1>

<h2 id="configuration-1">Configuration</h2>

<ul>
  <li>
    <p>1 Change the circuit breaker configuration in conf chassis.yaml of mesher_webapp.</p>

    <div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="na">isolation</span><span class="pi">:</span>
  <span class="na">Consumer</span><span class="pi">:</span>
    <span class="na">timeout</span><span class="pi">:</span>
      <span class="na">enabled</span><span class="pi">:</span> <span class="no">true</span>
    <span class="na">timeoutInMilliseconds</span><span class="pi">:</span> <span class="s">1000</span>            
    <span class="na">maxConcurrentRequests</span><span class="pi">:</span> <span class="m">1</span>
<span class="na">circuitBreaker</span><span class="pi">:</span>
  <span class="na">Consumer</span><span class="pi">:</span>
    <span class="na">enabled</span><span class="pi">:</span> <span class="no">true</span>
    <span class="na">forceOpen</span><span class="pi">:</span> <span class="no">false</span>
    <span class="na">forceClosed</span><span class="pi">:</span> <span class="no">false</span>
    <span class="na">sleepWindowInMilliseconds</span><span class="pi">:</span> <span class="s">10000</span>    
    <span class="na">requestVolumeThreshold</span><span class="pi">:</span> <span class="s">1</span>          
    <span class="na">errorThresholdPercentage</span><span class="pi">:</span> <span class="m">1</span>
<span class="na">fallback</span><span class="pi">:</span>
  <span class="na">Consumer</span><span class="pi">:</span>
    <span class="na">enabled</span><span class="pi">:</span> <span class="no">true</span>
    <span class="na">maxConcurrentRequests</span><span class="pi">:</span> <span class="m">1</span>
<span class="na">fallbackpolicy</span><span class="pi">:</span>
  <span class="na">Consumer</span><span class="pi">:</span>
    <span class="na">policy</span><span class="pi">:</span> <span class="s">returnnull</span>
</code></pre></div>    </div>
  </li>
  <li>
    <p>2 Stop the service instances in directory test_balance.</p>
  </li>
</ul>

<h2 id="verification-1">Verification</h2>

<ul>
  <li>
    <p>1 The circuit breaker of mesher_webapp takes effect when a negative parameter is passed in. The first picture is the log of <strong>mesher_webapp</strong>. The second picture is the return value when inputing negative parameter. The third picture is the return value when the circuit breaker of mesher_webapp takes effect.</p>

    <p><img src="/assets/images/mesher/mesher-circuitbreaker.png" alt="mesher-circuitbreaker" /></p>

    <p><img src="/assets/images/mesher/mesher-circuitbreaker-ret.png" alt="mesher-circuitbreaker-ret" /></p>

    <p><img src="/assets/images/mesher/mesher-circuitbreaker-ret-nil.png" alt="mesher-circuitbreaker-ret-nil" /></p>
  </li>
  <li>
    <p>2 The service is automatically restored after 10 seconds because of the conf parameter <strong>sleepWindowInMilliseconds</strong>.</p>
  </li>
</ul>

<h1 id="whats-next">What’s next</h1>

<ul>
  <li>
    <p>Read <a href="/docs/products/mesher/distributed-tracing/">mesher distributed tracing</a></p>
  </li>
  <li>
    <p>More about <a href="/docs/users/service-configurations/">service management</a></p>
  </li>
</ul>

        
      </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/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/_docs/products/mesher/service-management.md">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>
