<!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>Workshop Slides - 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="Workshop Slides">


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





  <meta name="twitter:site" content="@ServiceComb">
  <meta name="twitter:title" content="Workshop Slides">
  <meta name="twitter:description" content="The homepage of ServiceComb">
  <meta name="twitter:url" content="">

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

  



  

  





  <meta property="og:type" content="article">
  <meta property="article:published_time" content="2017-06-20T11:02:20+08:00">








  <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://www.apachecon.com/event-images/snippet.js"></script>
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js" integrity="sha384-b/U6ypiBEHpOf/4+1nzFpr53nxSS+GLCkfwBdFNTxtclqqenISfwAzpKaMNFNmj4" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/js/bootstrap.min.js" integrity="sha384-h0AbiXch4ZDo7tp9hKZ4TsHbi047NrKGLO3SEJAg45jXxnGIfYzk4Si90RDIqNm1" crossorigin="anonymous"></script>
<!-- For all browsers -->
<link rel="stylesheet" href="/assets/css/main.css">
<link rel="stylesheet" href="/assets/vendor/prism/prism.css">

<!--[if lte IE 9]>
  <style>
    /* old IE unsupported flexbox fixes */
    .greedy-nav .site-title {
      padding-right: 3em;
    }
    .greedy-nav button {
      position: absolute;
      top: 0;
      right: 0;
      height: 100%;
    }
  </style>
<![endif]-->

<meta http-equiv="cleartype" content="on">

    <!-- start custom head snippets -->

<!-- insert favicons. use http://realfavicongenerator.net/ -->
<link href="https://fonts.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="/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/slides/>中文</a>
          
        </div>
      </nav>
    </div>
  </div>
</div>


    



<div id="main" role="main">
  
  <div class="sidebar sticky">
      
      <div class="back-to-home"><a href="/">Home</a> > Workshop Slides</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>



  <article class="page" itemscope itemtype="http://schema.org/CreativeWork">
    <meta itemprop="headline" content="Workshop Slides">
    
    <meta itemprop="datePublished" content="June 20, 2017">
    

    <div class="page__inner-wrap">
      
        
          <header>
            <h1 class="page__title" itemprop="headline">Workshop Slides
</h1>
            
          </header>
        
      

      <section class="page__content" itemprop="text">
        <h2 id="linuxcon-beijing-2017-workshop">LinuxCon Beijing 2017 Workshop</h2>
<ul>
  <li><a href="/assets/slides/20170619/MSAPrinciple&amp;EcoSystem.pdf">design principles and ecosystem of microservice</a></li>
  <li><a href="/assets/slides/20170619/ServiceCombRoadMap.pdf">ServiceComb RoadMap</a></li>
  <li><a href="/assets/slides/20170619/LinuxCon-Workshop-company.pdf">ServiceComb Workshop</a></li>
</ul>

<h2 id="arch-submit-20171209-beijing">Arch Submit, 20171209, Beijing</h2>
<ul>
  <li><a href="/assets/slides/20171209/PracticeOfServiceMeshOnHuaweiPublicCloud.pdf">Practice Of Service Mesh on Huawei Public Cloud</a></li>
</ul>

<h2 id="microservice-meetup-20180127-shenzhen">Microservice Meetup, 20180127, Shenzhen</h2>
<ul>
  <li><a href="/assets/slides/20180127/ServiceComb_Overview.pdf">ServiceComb Overview</a></li>
</ul>

<h2 id="servicecomb-live-streaming-phase-i-20171026"><a href="http://www.itdks.com/liveevent/detail/6618">ServiceComb live streaming phase I</a>, 20171026</h2>
<ul>
  <li><a href="/assets/slides/20171026/ServiceCombIntroduce1026.pdf">ServiceComb Introduction</a></li>
</ul>

<h2 id="servicecomb-live-streaming-phase-ii-20171102"><a href="http://www.itdks.com/liveevent/detail/6620">ServiceComb live streaming phase II</a>, 20171102</h2>
<ul>
  <li><a href="/assets/slides/20171102/ServiceComb_PastAndPresent.pdf">ServiceComb: past and present</a></li>
</ul>

<h2 id="servicecomb-live-streaming-phase-iii-20171109"><a href="http://www.itdks.com/liveevent/detail/6621">ServiceComb live streaming phase III</a>, 20171109</h2>
<ul>
  <li><a href="/assets/slides/20171109/MicroservicePracticeOfHuaweiConsumerCloudBasedOnServiceComb.pdf">Microservice practice of Huawei consumer cloud based on ServiceComb</a></li>
</ul>

<h2 id="servicecomb-live-streaming-phase-iv-20171124"><a href="http://www.itdks.com/liveevent/detail/6622">ServiceComb live streaming phase IV</a>, 20171124</h2>
<ul>
  <li><a href="/assets/slides/20171124/LiveCodingServiceCombQuickStart.zip">Live coding the quick start example of ServiceComb</a></li>
</ul>

<h2 id="servicecomb-live-streaming-phase-v-20171207"><a href="http://www.itdks.com/liveevent/detail/6623">ServiceComb live streaming phase V</a>, 20171207</h2>
<ul>
  <li><a href="/assets/slides/20171207/Uncover_ServiceComb_Design.pdf">Uncover ServiceComb Design</a></li>
</ul>

<h2 id="servicecomb-live-streaming-phase-vi-20171221"><a href="http://www.itdks.com/liveevent/detail/6624">ServiceComb live streaming phase VI</a>, 20171221</h2>
<ul>
  <li><a href="/assets/slides/20171221/data.consistency.live.pdf">ServiceComb's Data Consistency Solution</a></li>
</ul>

<h2 id="servicecomb-live-streaming-phase-vii-20180111"><a href="http://www.itdks.com/liveevent/detail/9543">ServiceComb live streaming phase VII</a>, 20180111</h2>
<ul>
  <li><a href="/assets/slides/20180111/ServiceComb_Metrics_Introduction.pdf">ServiceComb Metrics Introduction</a></li>
</ul>

<h2 id="servicecomb-live-streaming-phase-viii-20180125"><a href="http://www.itdks.com/liveevent/detail/9558">ServiceComb live streaming phase VIII</a>, 20180125</h2>
<ul>
  <li><a href="/assets/slides/20180125/Service_Center_Introduction.pdf">Service Center Introduction</a></li>
</ul>

<h2 id="servicecomb-live-streaming-phase-ix-20180208"><a href="http://www.itdks.com/liveevent/detail/10012">ServiceComb live streaming phase IX</a>, 20180208</h2>
<ul>
  <li><a href="/assets/slides/20180208/Communications_Inside_Java_Chassis.pdf">Communications inside Java Chassis</a></li>
</ul>

<h2 id="servicecomb-live-streaming-phase-x-20180315"><a href="http://www.itdks.com/liveevent/detail/10301">ServiceComb live streaming phase X</a>, 20180315</h2>
<ul>
  <li><a href="/assets/slides/20180315/Monitor_Apache_ServiceComb_using_Apache_Skywalking_APM.pdf">Monitor Apache ServiceComb(incubating) using Apache SkyWalking(incubating) APM</a></li>
</ul>

<h2 id="osca-cloud-summit-2018">OSCA Cloud Summit 2018</h2>
<ul>
  <li><a href="/assets/slides/20180322/ServiceComb-OSCAR.pdf">The RoadMap of ServiceComb</a></li>
</ul>

<h2 id="spring-cloud-2018-chinese-community-salon-shenzhen">Spring Cloud 2018 Chinese Community Salon (Shenzhen)</h2>
<ul>
  <li><a href="/assets/slides/20180421/Introduction_to_ServiceComb.pdf">Introduction to ServiceComb</a></li>
</ul>

<h2 id="qconbeijing-2018">QConBeijing 2018</h2>
<ul>
  <li><a href="/assets/slides/20180422/QConBeijing2018-Saga.pdf">Distributed Transaction Management with Saga</a></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">Events</p>
        <a class="acevent" data-format="square" data-mode="dark" data-event="random"></a>
      </ul>
    </div>
    <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/about-slides.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; 2024 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>
