<!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>Using Confd and Nginx for Edge Service - Apache ServiceComb</title>




<meta name="description" content="Using Confd and Nginx for Edge Service">




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

<meta property="og:locale" content="en">
<meta property="og:site_name" content="Apache ServiceComb">
<meta property="og:title" content="Using Confd and Nginx for Edge Service">


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



  <meta property="og:description" content="Using Confd and Nginx for Edge Service">



  <meta name="twitter:site" content="@ServiceComb">
  <meta name="twitter:title" content="Using Confd and Nginx for Edge Service">
  <meta name="twitter:description" content="Using Confd and Nginx for Edge Service">
  <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.loli.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 class="active" href="/docs/users/">Documentation</a>
              

              <ul id="childrenShow" class="def-children-show-en" 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/users/edging-service/nginx/>中文</a>
          
        </div>
      </nav>
    </div>
  </div>
</div>


    



<div id="main" role="main">
  
  <div class="sidebar sticky">
      
      <div class="back-to-home"><a href="/">Home</a> > Using Confd and Nginx for Edge Service</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>
        
          <span class="nav__sub-title">Java Chassis User Guide</span>
        

        
        <ul>
          
            
            

            
            

            <li><a href="https://docs.servicecomb.io/java-chassis/en_US/index.html" class="">1.2.1</a></li>
          
        </ul>
        
      </li>
    
      <li>
        
          <span class="nav__sub-title">Saga User Guide</span>
        

        
        <ul>
          
            
            

            
            

            <li><a href="https://docs.servicecomb.io/saga/en_US/index.html" class="">0.5.0</a></li>
          
        </ul>
        
      </li>
    
      <li>
        
          <span class="nav__sub-title">ServiceCenter User Guide</span>
        

        
        <ul>
          
            
            

            
            

            <li><a href="https://docs.servicecomb.io/service-center/en_US/index.html" class="">1.2.0</a></li>
          
        </ul>
        
      </li>
    
      <li>
        
          <span class="nav__sub-title">Kie User Guide</span>
        

        
        <ul>
          
            
            

            
            

            <li><a href="/docs/kie/0.1.0/index.html" class="">0.1.0</a></li>
          
        </ul>
        
      </li>
    
      <li>
        
          <span class="nav__sub-title">Mesher User Guide</span>
        

        
        <ul>
          
            
            

            
            

            <li><a href="/docs/mesher/1.6.3/index.html" class="">1.6.3</a></li>
          
        </ul>
        
      </li>
    
  </ul>
</nav>

    
  
  </div>



  <article class="page" itemscope itemtype="http://schema.org/CreativeWork">
    <meta itemprop="headline" content="Using Confd and Nginx for Edge Service">
    <meta itemprop="description" content="Using Confd and Nginx for Edge Service">
    
    <meta itemprop="dateModified" content="August 15, 2017">

    <div class="page__inner-wrap">
      
        
          <header>
            <h1 class="page__title" itemprop="headline">Using Confd and Nginx for Edge Service
</h1>
            
          </header>
        
      

      <section class="page__content" itemprop="text">
        <aside class="sidebar__right">
<nav class="toc">
    <!-- <header><h4 class="nav__title"><i class="fa fa-file-text"></i> On This Page</h4></header> -->
<ul class="toc__menu" id="markdown-toc">
  <li><a href="#concept-description" id="markdown-toc-concept-description">Concept Description</a>    <ul>
      <li><a href="#confd" id="markdown-toc-confd"><strong>confd</strong></a></li>
      <li><a href="#nginx" id="markdown-toc-nginx"><strong>Nginx</strong></a></li>
    </ul>
  </li>
  <li><a href="#scenario" id="markdown-toc-scenario">Scenario</a></li>
  <li><a href="#interconnecting-with-the-service-center" id="markdown-toc-interconnecting-with-the-service-center">Interconnecting with the Service Center</a>    <ul>
      <li><a href="#method-1-http-call" id="markdown-toc-method-1-http-call"><strong>Method 1: HTTP call</strong></a></li>
      <li><a href="#method-2-using-the-open-source-code-api" id="markdown-toc-method-2-using-the-open-source-code-api"><strong>Method 2: Using the open-source code API</strong></a></li>
    </ul>
  </li>
</ul>

  </nav>
</aside>

<h2 id="concept-description">Concept Description</h2>

<h3 id="confd"><strong>confd</strong></h3>

<p>confd is a lightweight configuration management tool. The source code address is: https://github.com/kelseyhightower/confd](https://github.com/kelseyhightower/confd), It can store configuration information in etcd, consul, dynamodb, redis, and zookeeper. confd regularly pulls the latest configuration from storage nodes and then reloads services to complete updating the configuration file.</p>

<h3 id="nginx"><strong>Nginx</strong></h3>

<p>Nginx (engine x) is a high-performance HTTP and  reverse proxy server that has the load balancing function. For details, see <a href="http://www.nginx.cn/doc/">http://www.nginx.cn/doc/</a>. This secton describes the HTTP proxy function of Nginx.</p>

<h2 id="scenario">Scenario</h2>

<p>This section describes how to use Nginx and confd to serve as edge services. Also, you can connect Nginx and confd to service center in the Java Chassis microservice framework and dynamically update configuration of Nginx using confd.</p>

<p>For details about how to use the dynamic reverse proxy of Nginx and confd, see <a href="http://www.cnblogs.com/Anker/p/6112022.html">http://www.cnblogs.com/Anker/p/6112022.html</a>, This section describes how to interconnect Confd with the service center of the Java Chassis framework.</p>

<h2 id="interconnecting-with-the-service-center">Interconnecting with the Service Center</h2>

<p>This section describes how to enable confd to obtain service information from the service center. The service center provides the following APIs for external calls:</p>

<h3 id="method-1-http-call"><strong>Method 1: HTTP call</strong></h3>

<p>The tenant header information of “X-Tenant-Name:tenantName” needs to be added to the HTTP API in the Service Center. tenameName is the tenant name. The default value is default, such as X-Tenant-Name:default.</p>

<ul>
  <li>
    <p>Check the health status of the service center</p>

    <div class="language-http highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="err"> GET 127.0.0.1:9980/health
</span></code></pre></div>    </div>
  </li>
  <li>
    <p>Obtain all microservice information</p>

    <div class="language-http highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="err"> GET 127.0.0.1:9980/registry/v3/microservices
</span></code></pre></div>    </div>
  </li>
  <li>
    <p>Obtain the microservice information with a specified ID</p>
  </li>
</ul>

<blockquote>
  <ol>
    <li>
      <p>Obtain the service ID based on the microservice information</p>

      <div class="language-http highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="err">GET 127.0.0.1:9980/registry/v3/existence?type=microservice&amp;appId={appId}&amp;serviceName={serviceName}&amp;version={version}
</span></code></pre></div>      </div>
    </li>
    <li>
      <p>Obtain complete microservice information based on the service ID returned by API</p>

      <div class="language-http highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="err">GET 127.0.0.1:9980/registry/v3/microservices/{serviceId}
</span></code></pre></div>      </div>
    </li>
  </ol>
</blockquote>

<ul>
  <li>
    <p>Obtain all instance information from specified microservice</p>

    <div class="language-http highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="err"> GET 127.0.0.1:9980/registry/v3/microservices/{serviceId}/instances
</span></code></pre></div>    </div>
    <p>Add the following information to the header file:</p>

    <p>“X-ConsumerId:{serviceId}”</p>
  </li>
  <li>
    <p>Searching microservice instance information</p>

    <div class="language-http highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="err"> GET 127.0.0.1:9980/registry/v3/instances?appId={appId}&amp;serviceName={serviceName}&amp;version={version}
</span></code></pre></div>    </div>
    <p>Add the following information to the header file:</p>

    <p>“X-ConsumerId:{serviceId}”</p>
  </li>
</ul>

<p>NOTE: The preceding service center address is provides as example only. Set the variables enclosed in curly brackets ({}) as needed. The data returned via HTTP is in JSON format.</p>

<h3 id="method-2-using-the-open-source-code-api"><strong>Method 2: Using the open-source code API</strong></h3>

<p>During the development of the microservice application, you only need to call the API provided by the tool RegistryUtil.java in the ServiceComb framework code to obtain the information in the Service Center. The API is described as follows:</p>

<ul>
  <li>Obtain all microservice information
    <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="nc">List</span><span class="o">&lt;</span><span class="nc">Microservice</span><span class="o">&gt;</span> <span class="nf">getAllMicroservices</span><span class="o">();</span>
</code></pre></div>    </div>
  </li>
  <li>Obtain the unique ID of the microservice.
    <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="nc">String</span> <span class="nf">getMicroserviceId</span><span class="o">(</span><span class="nc">String</span> <span class="n">appId</span><span class="o">,</span> <span class="nc">String</span> <span class="n">microserviceName</span><span class="o">,</span> <span class="nc">String</span> <span class="n">versionRule</span><span class="o">);</span>
</code></pre></div>    </div>
  </li>
  <li>Query the microservice static information based on the unique ID of the microservice.
    <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="nc">Microservice</span> <span class="nf">getMicroservice</span><span class="o">(</span><span class="nc">String</span> <span class="n">microserviceId</span><span class="o">);</span>
</code></pre></div>    </div>
  </li>
  <li>Query all the microservice instance information based on the unique IDs of the microservices.
    <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="nc">List</span><span class="o">&lt;</span><span class="nc">MicroserviceInstance</span><span class="o">&gt;</span> <span class="nf">getMicroserviceInstance</span><span class="o">(</span><span class="nc">String</span> <span class="n">consumerId</span><span class="o">,</span> <span class="nc">String</span> <span class="n">providerId</span><span class="o">);</span>
</code></pre></div>    </div>
  </li>
  <li>Query the instance end points information based on the application, interface, and version.
    <div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="nc">List</span><span class="o">&lt;</span><span class="nc">MicroserviceInstance</span><span class="o">&gt;</span> <span class="nf">findServiceInstance</span><span class="o">(</span><span class="nc">String</span> <span class="n">consumerId</span><span class="o">,</span> <span class="nc">String</span> <span class="n">appId</span><span class="o">,</span> <span class="nc">String</span> <span class="n">serviceName</span><span class="o">,</span><span class="nc">String</span> <span class="n">versionRule</span><span class="o">);</span>
</code></pre></div>    </div>
  </li>
</ul>

<p>You can obtain information about the microservice and instance of the Service Center using the HTTP API to dynamically update the Nginx configuration using confd.</p>

        
      </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/_users/nginx.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; 2020 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>
