<!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="cn" class="no-js">
  <head>
    <meta charset="utf-8">

<!-- begin SEO -->









<title>Apache ServiceComb</title>




<meta name="description" content="开箱即用、高性能、兼容流行生态、支持多语言的一站式开源微服务解决方案 下载  开始 ">




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

<meta property="og:locale" content="cn">
<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/cn/">
  <meta property="og:url" content="https://github.com/pages/apache/incubator-servicecomb-website/cn/">



  <meta property="og:description" content="开箱即用、高性能、兼容流行生态、支持多语言的一站式开源微服务解决方案 下载  开始 ">



  <meta name="twitter:site" content="@ServiceComb">
  <meta name="twitter:title" content="Apache ServiceComb">
  <meta name="twitter:description" content="开箱即用、高性能、兼容流行生态、支持多语言的一站式开源微服务解决方案 下载  开始 ">
  <meta name="twitter:url" content="">

  
    <meta name="twitter:card" content="summary">
    
  

  



  

  



  <meta property="og:image" content="/assets/images/servicecomb-banner-s.png">










  <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--splash">

    <!--[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="/cn"><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 class="active" href="/cn/">首页</a>
                  

                
              </li>
            
          
            
          
          
            
              <li class="masthead__menu-item" onmouseenter="$('#childrenShow').css('display', 'none')">
                
                  
                    <a href="/cn/developers/">项目</a>
                  

                
              </li>
            
          
            
          
          
            
            <li class="def-nav-li" onmouseenter="$('#childrenShow').css('display', 'block')">
              
              
              

              
                <a href="/cn/docs/users/">文档</a>
              

              <ul id="childrenShow" class="def-children-show-cn" onmouseleave="$('#childrenShow').css('display', 'none')">
                
                <li><a href="/cn/docs/getting-started/" class="">入门指南</a></li>
                
                <li><a href="/cn/docs/users/" class="">用户手册</a></li>
                
                <li><a href="/cn/slides/" class="">大咖视频</a></li>
                
                <li><a href="/cn/faqs/" class="">常见问题</a></li>
                
              </ul>
            </li>
          
          
            
          
          
            
              <li class="masthead__menu-item" onmouseenter="$('#childrenShow').css('display', 'none')">
                
                  
                    <a href="/cn/developers/contributing">社区</a>
                  

                
              </li>
            
          
            
          
          
            
              <li class="masthead__menu-item" onmouseenter="$('#childrenShow').css('display', 'none')">
                
                  
                    <a href="/cn/year-archive/">博文</a>
                  

                
              </li>
            
          
            
          
          
            
              <li class="masthead__menu-item" onmouseenter="$('#childrenShow').css('display', 'none')">
                
                  
                    <a href="/cn/release/">下载</a>
                  

                
              </li>
            
          
        </ul>
        <button><div class="navicon"></div></button>
        <ul class="hidden-links hidden"></ul>
        <div class="nav-lang">
          
            
            
            <a href=/>English</a>
          
        </div>
      </nav>
    </div>
  </div>
</div>


    
  







<div class="page__hero--overlay"
  style=" background-image: url('/assets/images/servicecomb-banner-s.png');"
>
  
    <div class="wrapper">
      <h1 class="page__title" itemprop="headline">
        
          Apache ServiceComb

        
      </h1>
      
        <p class="page__lead">开箱即用、高性能、兼容流行生态、支持多语言的一站式开源微服务解决方案
<div class="button-group def-inline-block"> <a href="/cn/release" class="home-button btn--info">下载</a> </div>
<div class="button-group def-inline-block"> <a href="/cn/docs/getting-started/" class="home-button btn--info">开始</a> </div>
</p>
      
      
      
    </div>
  
  
</div>



<div role="main" class="home-page">
  <article class="splash" itemscope itemtype="http://schema.org/CreativeWork">
    
    <meta itemprop="description" content="开箱即用、高性能、兼容流行生态、支持多语言的一站式开源微服务解决方案 下载  开始 ">
    
    

    <section class="page__content" itemprop="text">
      
<div class="feature__wrapper">

  

    

    <div class="feature__item--center">
      <div class="archive__item">
        

        <div class="archive__item-body">
          

          
            <div class="archive__item-excerpt">
              <div class="excerpt-title">最新新闻</div>
<style>left_ul li{width:100%} </style>
<ul class="left_ul"> <li> <a href="/cn/summer2020">Apache ServiceComb 社区 暑假coding 2020 活动</a> </li> <li> <a href="/cn/release/pack-downloads">Apache ServiceComb Pack 发布0.6.0</a> </li> <li> <a href="/cn/release/java-chassis-downloads/">Apache ServiceComb Java-Chassis 发布 2.1.0</a> </li> <li> <a href="/cn/release/service-center-downloads/">Apache ServiceComb Service-Center 发布 1.3.0</a> </li> <li> <a href="/cn/release/toolkit-downloads">Apache ServiceComb Toolkit 发布0.2.0</a> </li> </ul>
<ul> <li> <a href="/cn/docs/servicecomb-accept-newcapec-institute-code-donation">Apache ServiceComb 社区接受新开普软件研究院的代码捐赠</a> </li> <li> <a href="/cn/docs/Apache-ServiceComb-Meetup-2019-Shanghai-KubeCon+CloudNative+OSS-Report">Apache ServiceComb 社区meetup及新品发布</a> </li> <li> <a href="">Apache ServiceComb 荣获中国开源云联盟组织的中国优秀开源项目一等奖</a> </li> <li> <a href="/cn/docs/chuanzhiboke-servicecomb-tutoria-release/">Apache ServiceComb 社区联合传智播客的黑马程序员、博学谷、传智汇子品牌发布微服务化教程</a> </li> <li> <a href="https://gitter.im/ServiceCombUsers/Lobby">欢迎加入 Apache ServiceComb 社区Gitter即时聊天室</a> </li> </ul>

            </div>
          
        </div>
      </div>
    </div>
  

</div>

<div class="normal-feature-row">


<div class="feature__wrapper">

  

    

    <div class="feature__item">
      <div class="archive__item">
        
          <div class="archive__item-teaser">
            <a href="https://docs.servicecomb.io/java-chassis/zh_CN/build-provider/define-contract/">
            <img src="/assets/images/servicecomb-feature-openapi.png" alt="标准" />
            </a>
          </div>
        

        <div class="archive__item-body">
          
            <a class="archive__item-title" href="https://docs.servicecomb.io/java-chassis/zh_CN/build-provider/define-contract/">服务契约</a>
          

          
            <div class="archive__item-excerpt">
              <p>基于 <a href="https://www.openapis.org">OpenAPI</a> 的服务契约管理</p>

            </div>
          
        </div>
      </div>
    </div>
  

    

    <div class="feature__item">
      <div class="archive__item">
        
          <div class="archive__item-teaser">
            <a href="/cn/docs/products/java-chassis/quick-start/">
            <img src="/assets/images/servicecomb-feature-quickstart.png" alt="高效" />
            </a>
          </div>
        

        <div class="archive__item-body">
          
            <a class="archive__item-title" href="/cn/docs/products/java-chassis/quick-start/">快速开发</a>
          

          
            <div class="archive__item-excerpt">
              <p>一键式脚手架，开箱即用，快速构建微服务应用</p>

            </div>
          
        </div>
      </div>
    </div>
  

    

    <div class="feature__item">
      <div class="archive__item">
        
          <div class="archive__item-teaser">
            <a href="/cn/docs/products/mesher/quick-start/">
            <img src="/assets/images/servicecomb-feature-multiLanguage.png" alt="多语言" />
            </a>
          </div>
        

        <div class="archive__item-body">
          
            <a class="archive__item-title" href="/cn/docs/products/mesher/quick-start/">多语言</a>
          

          
            <div class="archive__item-excerpt">
              <p>生态扩展支持Java/Golang/PHP/NodeJS等多种开发语言</p>

            </div>
          
        </div>
      </div>
    </div>
  

</div>
</div>

    </section>
  </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">资源</p>
        <li><a href="/cn/docs/getting-started/">入门指南</a></li>
        <li><a href="/cn/docs/users/">用户指南</a></li>
        <li><a href="/cn/slides/">资料</a></li>
        <li><a href="/cn/users/faq/">常见问题</a></li>
      </ul>
    </div>
    <div class="col">
      <ul>
        <p class="header">ASF</p>
        <li><a href="http://www.apache.org">基金会</a></li>
        <li><a href="http://www.apache.org/licenses/">许可证</a></li>
        <li><a href="http://www.apache.org/events/current-event">活动</a></li>
        <li><a href="http://www.apache.org/foundation/sponsorship.html">赞助</a></li>
        <li><a href="http://www.apache.org/foundation/thanks.html">鸣谢</a></li>
      </ul>
    </div>
    <div class="col">
      <ul>
        <p class="header">贡献</p>
        <li><a href="http://issues.apache.org/jira/browse/SCB">报告本网页问题</a></li>
        <li><a href="https://github.com/apache/servicecomb-website/edit/master/_pages/cn/home.md">在Github上编辑此页</a></li>
        <li><a href="/cn/developers/submit-codes/">代码提交指南</a></li>
        <li><a href="/cn/security">安全</a></li>
      </ul>
    </div>
    <div class="col">
      <ul class="social-icons">
        <p class="header">社区</p>
        <li>
            <a href="mailto:dev-subscribe@servicecomb.incubator.apache.org" rel="nofollow"><span class="mail">邮件列表</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. 技术来自于 <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>
