http://git-wip-us.apache.org/repos/asf/incubator-servicecomb-website/blob/08e1b43f/content/cn/users/application-boot-process/index.html ---------------------------------------------------------------------- diff --git a/content/cn/users/application-boot-process/index.html b/content/cn/users/application-boot-process/index.html new file mode 100644 index 0000000..f781947 --- /dev/null +++ b/content/cn/users/application-boot-process/index.html @@ -0,0 +1,697 @@ +<!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 incubator ServiceComb</title> + + + + +<meta name="description" content="ç¨åºå¯å¨é»è¾"> + + + + +<meta name="author" content=""> + +<meta property="og:locale" content="cn"> +<meta property="og:site_name" content="Apache incubator ServiceComb"> +<meta property="og:title" content="ç¨åºå¯å¨é»è¾"> + + + <link rel="canonical" href="http://github.com/pages/ServiceComb/servicesomb.github.io/cn/users/application-boot-process/"> + <meta property="og:url" content="http://github.com/pages/ServiceComb/servicesomb.github.io/cn/users/application-boot-process/"> + + + + <meta property="og:description" content="ç¨åºå¯å¨é»è¾"> + + + + <meta name="twitter:site" content="@ServiceComb"> + <meta name="twitter:title" content="ç¨åºå¯å¨é»è¾"> + <meta name="twitter:description" content="ç¨åºå¯å¨é»è¾"> + <meta name="twitter:url" content=""> + + + <meta name="twitter:card" content="summary"> + + + + + + + + + + + + + + + + + + + + + + + <script type="application/ld+json"> + { + "@context" : "http://schema.org", + "@type" : "Person", + "name" : "Apache incubator ServiceComb", + "url" : "http://github.com/pages/ServiceComb/servicesomb.github.io", + "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 incubator 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/js/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"> +<link rel="stylesheet" href="/assets/css/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.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"> + <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="//assets/images/ServiceComb-logo-1.png"></a> + + <ul class="visible-links"> + + + <li class="masthead__menu-item"> + + + + <a href="/cn/docs/quick-start/">å¿«éå ¥é¨</a> + + </li> + + + <li class="masthead__menu-item"> + + + + <a class="active" href="/cn/users/">ç¨æ·æå</a> + + </li> + + + <li class="masthead__menu-item"> + + + + <a href="/cn/developers/">å¼åè æå</a> + + </li> + + + <li class="masthead__menu-item"> + + + + <a href="/cn/year-archive/">åæ</a> + + </li> + + + <li class="masthead__menu-item"> + + + + <a href="/cn/faqs/">常è§é®é¢</a> + + </li> + + </ul> + <button><div class="navicon"></div></button> + <ul class="hidden-links hidden"></ul> + <div class="nav-lang"> + + + + <a href=/users/application-boot-process/>English</a> + + </div> + </nav> + </div> + </div> +</div> + + + + + + +<div id="main" role="main"> + + <div class="sidebar sticky"> + + <div class="back-to-home">é¦é¡µ > <a href="/cn/">ServiceComb</a></div> + + + + + + + + + + + +<nav class="nav__list"> + + <input id="ac-toc" name="accordion-toc" type="checkbox" /> + <label for="ac-toc">åæ¢èå</label> + <ul class="nav__items"> + + <li> + + <span class="nav__sub-title">ç¨æ·æå</span> + + + + <ul> + + + + + + + + <li><a href="/cn/users/" class="">Java Chassisç³»ç»æ¶æ</a></li> + + + + + + + + <li><a href="/cn/users/setup-environment/" class="">ç¯å¢é ç½®</a></li> + + </ul> + + </li> + + <li> + + <span class="nav__sub-title">å¼åæå¡æä¾è </span> + + + + <ul> + + + + + + + + <li><a href="/cn/users/service-definition/" class="">æå¡å®ä¹</a></li> + + + + + + + + <li><a href="/cn/users/service-contract/" class="">æå¡å¥çº¦</a></li> + + + + + + + + <li><a href="/cn/users/develop-with-springmvc/" class="">ç¨SpringMVCå¼åå¾®æå¡</a></li> + + + + + + + + <li><a href="/cn/users/develop-with-jax-rs/" class="">ç¨JAX-RSå¼åå¾®æå¡</a></li> + + + + + + + + <li><a href="/cn/users/develop-with-transparent-rpc/" class="">ç¨éæRPCå¼åå¾®æå¡</a></li> + + + + + + + + <li><a href="/cn/users/service-interface-constraints/" class="">æå¡æ¥å£çº¦æ</a></li> + + + + + + + + <li><a href="/cn/users/service-configurations/" class="">æå¡é ç½®</a></li> + + + + + + + + <li><a href="/cn/users/communicate-protocol/" class="">éä¿¡åè®®</a></li> + + + + + + + + <li><a href="/cn/users/application-boot-process/" class="active">ç¨åºå¯å¨é»è¾</a></li> + + + + + + + + <li><a href="/cn/users/service-heartbeat/" class="">æå¡å¿è·³</a></li> + + </ul> + + </li> + + <li> + + <span class="nav__sub-title">å¼åæå¡æ¶è´¹è </span> + + + + <ul> + + + + + + + + <li><a href="/cn/users/develop-with-rest-template/" class="">使ç¨Rest Templateæ¹å¼å¼å</a></li> + + + + + + + + <li><a href="/cn/users/develop-with-rpc/" class="">使ç¨RPCæ¹å¼å¼å</a></li> + + + + + + + + <li><a href="/cn/users/use-service-contract/" class="">使ç¨æå¡å¥çº¦</a></li> + + + + + + + + <li><a href="/cn/users/invoke-control/" class="">è°ç¨æ§å¶</a></li> + + </ul> + + </li> + + <li> + + <span class="nav__sub-title">éç¨å¼å</span> + + + + <ul> + + + + + + + + <li><a href="/cn/users/local-develop-test/" class="">æ¬å°å¼åä¸æµè¯</a></li> + + + + + + + + <li><a href="/cn/users/use-servicecomb-in-spring-boot/" class="">å¨Spring Bootä¸ä½¿ç¨ServiceComb</a></li> + + + + + + + + <li><a href="/cn/users/distributed-tracing/" class="">åå¸å¼è°ç¨é¾è¿½è¸ª</a></li> + + + + + + + + <li><a href="/cn/users/customized-tracing/" class="">èªå®ä¹è°ç¨é¾æç¹</a></li> + + </ul> + + </li> + + <li> + + <span class="nav__sub-title">æå¡è½åå¼æ¾</span> + + + + <ul> + + + + + + + + <li><a href="/cn/users/edging-service/nginx/" class="">使ç¨confdåNginxåè¾¹ç¼æå¡</a></li> + + + + + + + + <li><a href="/cn/users/edging-service/zuul/" class="">使ç¨Zuulåè¾¹ç¼æå¡</a></li> + + </ul> + + </li> + + <li> + + + + + <a href="/cn/users/metrics/"><span class="nav__sub-title nav__sub-title-with-url">çæ§</span></a> + + + + </li> + + <li> + + <span class="nav__sub-title">é¨ç½²</span> + + + + <ul> + + + + + + + + <li><a href="/cn/users/run-mode/" class="">è¿è¡æ¨¡å¼</a></li> + + </ul> + + </li> + + <li> + + <span class="nav__sub-title">å¾®æå¡å®å ¨</span> + + + + <ul> + + + + + + + + <li><a href="/cn/users/use-tls/" class="">使ç¨TLSéä¿¡</a></li> + + </ul> + + </li> + + </ul> +</nav> + + + + </div> + + + + <article class="page" itemscope itemtype="http://schema.org/CreativeWork"> + <meta itemprop="headline" content="ç¨åºå¯å¨é»è¾"> + <meta itemprop="description" content="ç¨åºå¯å¨é»è¾"> + + <meta itemprop="dateModified" content="August 15, 2017"> + + <div class="page__inner-wrap"> + + + <header> + <h1 class="page__title" itemprop="headline">ç¨åºå¯å¨é»è¾ +</h1> + + </header> + + + + <section class="page__content" itemprop="text"> + <p>æå¡æä¾è çå¯å¨è¿ç¨å为åå§åLog4jãbeanå è½½ï¼å æ¬é ç½®å è½½ï¼åæå¡æ³¨åä¸é¨åã</p> + +<ul> + <li> + <p>åå§åLog4j</p> + + <p><code class="highlighter-rouge">Log4jUtils</code>é»è®¤ä¼ä»<code class="highlighter-rouge">classpath\*:config/base/log4j.properties</code>å<code class="highlighter-rouge">classpath\*:config/log4j.properties</code>两个路å¾è¯»ålog4jé 置并å并ï¼å°å ¶ä¼ éç»Log4jç<code class="highlighter-rouge">PropertyConfigurator</code>æ¹æ³åå§åLog4jãå¦æä¼å 级æé«çé ç½®æ件æ¯å¨ç£çä¸ï¼ä¸å ¶æå¨ç®å½æåæéï¼åå°å并çé ç½®è¾åºå°è¯¥ç®å½ï¼ä»¥ä¾¿äºç»´æ¤æ¶è§å¯çæçåæ°ã</p> + </li> + <li> + <p>beanå è½½</p> + + <p><code class="highlighter-rouge">BeanUtils</code>é»è®¤ä¼ä»<code class="highlighter-rouge">classpath\*:META-INF/spring/\*.bean.xml</code>è·¯å¾å è½½é ç½®æ件ï¼å¹¶å°å ¶ä¼ éç»Springæ¡æ¶ç<code class="highlighter-rouge">ClassPathXmlApplicationContext</code>å®æåºç¨ä¸ä¸æå è½½ãå¨è¿ä¸ªè¿ç¨ä¸ä¼å è½½foundation-config模åçbeanï¼å®æé ç½®å è½½ã</p> + </li> + <li> + <p>æå¡æ³¨å</p> + + <p>å¨Spring contextå è½½å®æåï¼<code class="highlighter-rouge">io.servicecomb.core.CseApplicationListener</code>ä¼å è½½handleré ç½®ãå è½½providerçschemaä¿¡æ¯ï¼æåå°å¾®æå¡ä¿¡æ¯æ³¨åå°æå¡ä¸å¿ã</p> + </li> +</ul> + +<blockquote> + <p><strong>说æï¼</strong> +ServiceCombçé 置项å为ä¸ä¸ªå±æ¬¡ï¼é ç½®ä¸å¿ãç¯å¢åéãæ¬å°æ件ï¼ä¸è ä¼å 级ä¾æ¬¡éåï¼é«ä¼å 级ä¸çé 置项è¦çä½ä¼å 级ååé 置项ãåæ¾å¨é ç½®ä¸å¿çé 置项å¯ä»¥å¨è¿è¡æ¶ä¿®æ¹ã</p> +</blockquote> + + + </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">èµæº</p> + <li><a href="/cn/docs/quick-start/">å¿«éå ¥é¨</a></li> + <li><a href="/cn/users/user-guide/">ç¨æ·æå</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">è´¡ç®</p> + <li><a href="https://github.com/ServiceComb/ServiceComb.github.io/issues/new?title=Issue with _users/cn/application-boot-process.md">æ¥åæ¬ç½é¡µé®é¢</a></li> + <li><a href="https://github.com/ServiceComb/ServiceComb.github.io/edit/master/_users/cn/application-boot-process.md">å¨Githubä¸ç¼è¾æ¤é¡µ</a></li> + <li><a href="/cn/developers/submit-codes/">代ç æ交æå</a></li> + </ul> + </div> + <div class="col"> + <ul class="social-icons"> + <p class="header">社åº</p> + <li> + <a href="https://groups.google.com/forum/#!forum/servicecomb-developers" target="_blank"><span class="group">å¼åè </span></a> | + <a href="https://groups.google.com/forum/#!forum/servicecomb-users" target="_blank">ç¨æ·</span></a> + </li> + <li> + <a href="http://github.com/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>© 2017 Apache incubator ServiceComb. ææ¯æ¥èªäº <a href="http://jekyllrb.com" rel="nofollow">Jekyll</a> & <a href="https://mademistakes.com/work/minimal-mistakes-jekyll-theme/" rel="nofollow">Minimal Mistakes</a>.</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>
http://git-wip-us.apache.org/repos/asf/incubator-servicecomb-website/blob/08e1b43f/content/cn/users/communicate-protocol/index.html ---------------------------------------------------------------------- diff --git a/content/cn/users/communicate-protocol/index.html b/content/cn/users/communicate-protocol/index.html new file mode 100644 index 0000000..5eb1a49 --- /dev/null +++ b/content/cn/users/communicate-protocol/index.html @@ -0,0 +1,1110 @@ +<!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 incubator ServiceComb</title> + + + + +<meta name="description" content="éä¿¡åè®®"> + + + + +<meta name="author" content=""> + +<meta property="og:locale" content="cn"> +<meta property="og:site_name" content="Apache incubator ServiceComb"> +<meta property="og:title" content="éä¿¡åè®®"> + + + <link rel="canonical" href="http://github.com/pages/ServiceComb/servicesomb.github.io/cn/users/communicate-protocol/"> + <meta property="og:url" content="http://github.com/pages/ServiceComb/servicesomb.github.io/cn/users/communicate-protocol/"> + + + + <meta property="og:description" content="éä¿¡åè®®"> + + + + <meta name="twitter:site" content="@ServiceComb"> + <meta name="twitter:title" content="éä¿¡åè®®"> + <meta name="twitter:description" content="éä¿¡åè®®"> + <meta name="twitter:url" content=""> + + + <meta name="twitter:card" content="summary"> + + + + + + + + + + + + + + + + + + + + + + + <script type="application/ld+json"> + { + "@context" : "http://schema.org", + "@type" : "Person", + "name" : "Apache incubator ServiceComb", + "url" : "http://github.com/pages/ServiceComb/servicesomb.github.io", + "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 incubator 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/js/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"> +<link rel="stylesheet" href="/assets/css/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.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"> + <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="//assets/images/ServiceComb-logo-1.png"></a> + + <ul class="visible-links"> + + + <li class="masthead__menu-item"> + + + + <a href="/cn/docs/quick-start/">å¿«éå ¥é¨</a> + + </li> + + + <li class="masthead__menu-item"> + + + + <a class="active" href="/cn/users/">ç¨æ·æå</a> + + </li> + + + <li class="masthead__menu-item"> + + + + <a href="/cn/developers/">å¼åè æå</a> + + </li> + + + <li class="masthead__menu-item"> + + + + <a href="/cn/year-archive/">åæ</a> + + </li> + + + <li class="masthead__menu-item"> + + + + <a href="/cn/faqs/">常è§é®é¢</a> + + </li> + + </ul> + <button><div class="navicon"></div></button> + <ul class="hidden-links hidden"></ul> + <div class="nav-lang"> + + + + <a href=/users/communicate-protocol/>English</a> + + </div> + </nav> + </div> + </div> +</div> + + + + + + +<div id="main" role="main"> + + <div class="sidebar sticky"> + + <div class="back-to-home">é¦é¡µ > <a href="/cn/">ServiceComb</a></div> + + + + + + + + + + + +<nav class="nav__list"> + + <input id="ac-toc" name="accordion-toc" type="checkbox" /> + <label for="ac-toc">åæ¢èå</label> + <ul class="nav__items"> + + <li> + + <span class="nav__sub-title">ç¨æ·æå</span> + + + + <ul> + + + + + + + + <li><a href="/cn/users/" class="">Java Chassisç³»ç»æ¶æ</a></li> + + + + + + + + <li><a href="/cn/users/setup-environment/" class="">ç¯å¢é ç½®</a></li> + + </ul> + + </li> + + <li> + + <span class="nav__sub-title">å¼åæå¡æä¾è </span> + + + + <ul> + + + + + + + + <li><a href="/cn/users/service-definition/" class="">æå¡å®ä¹</a></li> + + + + + + + + <li><a href="/cn/users/service-contract/" class="">æå¡å¥çº¦</a></li> + + + + + + + + <li><a href="/cn/users/develop-with-springmvc/" class="">ç¨SpringMVCå¼åå¾®æå¡</a></li> + + + + + + + + <li><a href="/cn/users/develop-with-jax-rs/" class="">ç¨JAX-RSå¼åå¾®æå¡</a></li> + + + + + + + + <li><a href="/cn/users/develop-with-transparent-rpc/" class="">ç¨éæRPCå¼åå¾®æå¡</a></li> + + + + + + + + <li><a href="/cn/users/service-interface-constraints/" class="">æå¡æ¥å£çº¦æ</a></li> + + + + + + + + <li><a href="/cn/users/service-configurations/" class="">æå¡é ç½®</a></li> + + + + + + + + <li><a href="/cn/users/communicate-protocol/" class="active">éä¿¡åè®®</a></li> + + + + + + + + <li><a href="/cn/users/application-boot-process/" class="">ç¨åºå¯å¨é»è¾</a></li> + + + + + + + + <li><a href="/cn/users/service-heartbeat/" class="">æå¡å¿è·³</a></li> + + </ul> + + </li> + + <li> + + <span class="nav__sub-title">å¼åæå¡æ¶è´¹è </span> + + + + <ul> + + + + + + + + <li><a href="/cn/users/develop-with-rest-template/" class="">使ç¨Rest Templateæ¹å¼å¼å</a></li> + + + + + + + + <li><a href="/cn/users/develop-with-rpc/" class="">使ç¨RPCæ¹å¼å¼å</a></li> + + + + + + + + <li><a href="/cn/users/use-service-contract/" class="">使ç¨æå¡å¥çº¦</a></li> + + + + + + + + <li><a href="/cn/users/invoke-control/" class="">è°ç¨æ§å¶</a></li> + + </ul> + + </li> + + <li> + + <span class="nav__sub-title">éç¨å¼å</span> + + + + <ul> + + + + + + + + <li><a href="/cn/users/local-develop-test/" class="">æ¬å°å¼åä¸æµè¯</a></li> + + + + + + + + <li><a href="/cn/users/use-servicecomb-in-spring-boot/" class="">å¨Spring Bootä¸ä½¿ç¨ServiceComb</a></li> + + + + + + + + <li><a href="/cn/users/distributed-tracing/" class="">åå¸å¼è°ç¨é¾è¿½è¸ª</a></li> + + + + + + + + <li><a href="/cn/users/customized-tracing/" class="">èªå®ä¹è°ç¨é¾æç¹</a></li> + + </ul> + + </li> + + <li> + + <span class="nav__sub-title">æå¡è½åå¼æ¾</span> + + + + <ul> + + + + + + + + <li><a href="/cn/users/edging-service/nginx/" class="">使ç¨confdåNginxåè¾¹ç¼æå¡</a></li> + + + + + + + + <li><a href="/cn/users/edging-service/zuul/" class="">使ç¨Zuulåè¾¹ç¼æå¡</a></li> + + </ul> + + </li> + + <li> + + + + + <a href="/cn/users/metrics/"><span class="nav__sub-title nav__sub-title-with-url">çæ§</span></a> + + + + </li> + + <li> + + <span class="nav__sub-title">é¨ç½²</span> + + + + <ul> + + + + + + + + <li><a href="/cn/users/run-mode/" class="">è¿è¡æ¨¡å¼</a></li> + + </ul> + + </li> + + <li> + + <span class="nav__sub-title">å¾®æå¡å®å ¨</span> + + + + <ul> + + + + + + + + <li><a href="/cn/users/use-tls/" class="">使ç¨TLSéä¿¡</a></li> + + </ul> + + </li> + + </ul> +</nav> + + + + </div> + + + + <article class="page" itemscope itemtype="http://schema.org/CreativeWork"> + <meta itemprop="headline" content="éä¿¡åè®®"> + <meta itemprop="description" content="éä¿¡åè®®"> + + <meta itemprop="dateModified" content="August 15, 2017"> + + <div class="page__inner-wrap"> + + + <header> + <h1 class="page__title" itemprop="headline">éä¿¡åè®® +</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> å¨æ¬é¡µä¸</h4></header> --> +<ul class="toc__menu" id="markdown-toc"> + <li><a href="#éä¿¡åè®®" id="markdown-toc-éä¿¡åè®®">éä¿¡åè®®</a> <ul> + <li><a href="#æ¦å¿µéè¿°" id="markdown-toc-æ¦å¿µéè¿°">æ¦å¿µéè¿°</a></li> + <li><a href="#注æäºé¡¹" id="markdown-toc-注æäºé¡¹">注æäºé¡¹</a></li> + </ul> + </li> + <li><a href="#线ç¨æ¨¡å" id="markdown-toc-线ç¨æ¨¡å">线ç¨æ¨¡å</a> <ul> + <li><a href="#æ¦å¿µéè¿°-1" id="markdown-toc-æ¦å¿µéè¿°-1">æ¦å¿µéè¿°</a></li> + <li><a href="#å®æ´çº¿ç¨" id="markdown-toc-å®æ´çº¿ç¨">å®æ´çº¿ç¨</a></li> + </ul> + </li> + <li><a href="#rest-over-servlet" id="markdown-toc-rest-over-servlet">REST over Servlet</a> <ul> + <li><a href="#é 置说æ" id="markdown-toc-é 置说æ">é 置说æ</a></li> + <li><a href="#示ä¾ä»£ç " id="markdown-toc-示ä¾ä»£ç ">示ä¾ä»£ç </a></li> + </ul> + </li> + <li><a href="#rest-over-vertx" id="markdown-toc-rest-over-vertx">REST over Vertx</a> <ul> + <li><a href="#é 置说æ-1" id="markdown-toc-é 置说æ-1">é 置说æ</a></li> + <li><a href="#示ä¾ä»£ç -1" id="markdown-toc-示ä¾ä»£ç -1">示ä¾ä»£ç </a></li> + </ul> + </li> + <li><a href="#highway-rpcåè®®" id="markdown-toc-highway-rpcåè®®">Highway RPCåè®®</a> <ul> + <li><a href="#æ¦å¿µéè¿°-2" id="markdown-toc-æ¦å¿µéè¿°-2">æ¦å¿µéè¿°</a></li> + <li><a href="#é 置说æ-2" id="markdown-toc-é 置说æ-2">é 置说æ</a></li> + <li><a href="#示ä¾ä»£ç -2" id="markdown-toc-示ä¾ä»£ç -2">示ä¾ä»£ç </a></li> + </ul> + </li> +</ul> + + </nav> +</aside> + +<h2 id="éä¿¡åè®®">éä¿¡åè®®</h2> +<h3 id="æ¦å¿µéè¿°">æ¦å¿µéè¿°</h3> + +<p>ServiceCombå®ç°äºä¸¤ç§ç½ç»ééï¼å æ¬RESTåHighwayï¼åæ¯æTLSå å¯ä¼ è¾ãå ¶ä¸ï¼RESTç½ç»ééå°æå¡ä»¥æ åRESTfulå½¢å¼åå¸ï¼è°ç¨ç«¯å ¼å®¹ç´æ¥ä½¿ç¨http client使ç¨æ åRESTfulå½¢å¼è¿è¡è°ç¨ã</p> + +<h3 id="注æäºé¡¹">注æäºé¡¹</h3> + +<p>åæ°åè¿åå¼çåºååï¼</p> + +<p>å½åRESTééçbodyåæ°åªæ¯æapplication/jsonåºååæ¹å¼ï¼å¦æè¦åæå¡ç«¯åéformç±»åçåæ°ï¼é£ä¹éè¦å¨è°ç¨ç«¯æé 好application/jsonæ ¼å¼çbodyï¼ä¸è½ç´æ¥ä»¥multipart/form-dataæ ¼å¼ä¼ éformç±»ååæ°ã</p> + +<p>å½åRESTééè¿åå¼æ¯æapplication/jsonåtext/plain两ç§æ ¼å¼ï¼æå¡æä¾è éè¿produces声æå¯æä¾åºååè½åï¼æå¡æ¶è´¹è éè¿è¯·æ±çAccept头ææè¿åå¼åºååæ¹å¼ï¼é»è®¤è¿åapplication/jsonæ ¼å¼çæ°æ®ã</p> + +<h2 id="线ç¨æ¨¡å">线ç¨æ¨¡å</h2> +<h3 id="æ¦å¿µéè¿°-1">æ¦å¿µéè¿°</h3> + +<p>æ¬å°è主è¦ä»ç»ServiceCombå¾®æå¡çå®æ´çº¿ç¨æ¨¡åï¼ä»ç»IO线ç¨åä¸å¡çº¿ç¨ä¹é´çå ³ç³»</p> + +<h3 id="å®æ´çº¿ç¨">å®æ´çº¿ç¨</h3> + +<p>ServicecCombå¾®æå¡çå®æ´çº¿ç¨æ¨¡åå¦ä¸å¾æ示ï¼</p> + +<p><img src="/assets/images/thread-model.png" alt="" /></p> + +<blockquote> + <ol> + <li>ä¸å¡çº¿ç¨å¨ç¬¬ä¸æ¬¡è°ç¨æ¶ä¼ç»å®æä¸ä¸ªç½ç»çº¿ç¨,é¿å å¨ä¸åç½ç»çº¿ç¨ä¹é´åæ¢,æ è°å°å¢å 线ç¨å²çªçæ¦ç</li> + <li>ä¸å¡çº¿ç¨ç»å®ç½ç»çº¿ç¨å,ä¼åç»å®è¯¥ç½ç»çº¿ç¨å é¨çæ个è¿æ¥,åæ ·æ¯ä¸ºäºé¿å 线ç¨å²çª</li> + </ol> +</blockquote> + +<ul> + <li>客æ·ç«¯åæå¡å¨é½å¯ä»¥é ç½®å¤ä¸ªç½ç»çº¿ç¨(eventloop)ï¼é»è®¤ä¸ºCPUæ ¸æ°ç两åï¼æ¯ä¸ªç½ç»çº¿ç¨å¯ä»¥é ç½®å¤ä¸ªè¿æ¥ï¼é»è®¤ä¸º1ï¼æ¯æReståHighway两ç§ç½ç»ééï¼å ·ä½é 置请æ¥çå¦ä¸ç« èï¼ + <ul> + <li><a href="/cn/users/communicate-protocol#rest-over-servlet">REST over Servlet</a></li> + <li><a href="/cn/users/communicate-protocol/#rest-over-vertx">REST over Vertx</a></li> + <li><a href="/cn/users/communicate-protocol/#highway-rpcåè®®">Highway RPCåè®®</a></li> + </ul> + </li> + <li>客æ·ç«¯å¯é ç½®ä¸å¡çº¿ç¨æ± executorï¼çº¿ç¨ç²åº¦å¯ç»åè³schemaId:operationï¼é ç½®å¦ä¸ï¼</li> +</ul> + +<p>å¨microservice.yamlä¸æ·»å executorsé ç½®ï¼ä¸ºschemaId:operationé ç½®åç¬çä¸å¡çº¿ç¨æ± ï¼</p> + +<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">cse</span><span class="pi">:</span> + <span class="s">executors</span><span class="pi">:</span> + <span class="s">Provider</span><span class="pi">:</span> + <span class="pi">[</span><span class="nv">schemaId</span><span class="pi">]</span><span class="s">.[operation]</span> +</code></pre> +</div> + +<h2 id="rest-over-servlet">REST over Servlet</h2> +<h3 id="é 置说æ">é 置说æ</h3> + +<p>ããREST over Servlet对åºä½¿ç¨web容å¨æ¨¡å¼é¨ç½²è¿è¡ï¼éè¦æ°å»ºä¸ä¸ªservletå·¥ç¨å°å¾®æå¡å è£ èµ·æ¥ï¼å è½½å°web容å¨ä¸å¯å¨è¿è¡ï¼å è£ å¾®æå¡çæ¹æ³æ两ç§ï¼ä¸ç§å®å ¨ä½¿ç¨web.xmlé ç½®æ件é ç½®ï¼å¦ä¸ç§ä» å¨web.xmlæ件ä¸é ç½®listenerï¼å¨microservice.yamlæ件ä¸é ç½®urlPatternï¼ä¸¤ç§æ¹å¼å¦ä¸æ示ï¼</p> + +<ul> + <li> + <p>å¨web.xmlæ件ä¸å®æå ¨é¨é ç½®</p> + + <p>web.xmlæ件é ç½®å¨é¡¹ç®çsrc/main/webapp/WEB_INFç®å½ï¼é ç½®å 容å¦ä¸ï¼</p> + + <div class="language-xml highlighter-rouge"><pre class="highlight"><code> <span class="nt"><web-app</span> <span class="na">xmlns=</span><span class="s">"http://java.sun.com/xml/ns/javaee"</span> <span class="na">xmlns:xsi=</span><span class="s">"http://www.w3.org/2001/XMLSchema-instance"</span> <span class="na">xsi:schemaLocation=</span><span class="s">"http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"</span> <span class="na">version=</span><span class="s">"3.0"</span><span class="nt">></span> + <span class="nt"><context-param></span> + <span class="nt"><param-name></span>contextConfigLocation<span class="nt"></param-name></span> + <span class="nt"><param-value></span>classpath*:META-INF/spring/*.bean.xml classpath*:app-config.xml<span class="nt"></param-value></span> + <span class="nt"></context-param></span> + <span class="nt"><listener></span> + <span class="nt"><listener-class></span>io.servicecomb.transport.rest.servlet.RestServletContextListener<span class="nt"></listener-class></span> + <span class="nt"></listener></span> + <span class="nt"><servlet></span> + <span class="nt"><servlet-name></span>RestServlet<span class="nt"></servlet-name></span> + <span class="nt"><servlet-class></span>io.servicecomb.transport.rest.servlet.RestServlet<span class="nt"></servlet-class></span> + <span class="nt"><load-on-startup></span>1<span class="nt"></load-on-startup></span> + <span class="nt"><async-supported></span>true<span class="nt"></async-supported></span> + <span class="nt"></servlet></span> + <span class="nt"><servlet-mapping></span> + <span class="nt"><servlet-name></span>RestServlet<span class="nt"></servlet-name></span> + <span class="nt"><url-pattern></span>/rest/*<span class="nt"></url-pattern></span> + <span class="nt"></servlet-mapping></span> + <span class="nt"></web-app></span> +</code></pre> + </div> + </li> + <li> + <p>å¨web.xmlæ件ä¸ä» é ç½®listenerï¼å¨microservice.yamlæ件ä¸é ç½®urlPattern</p> + + <div class="language-xml highlighter-rouge"><pre class="highlight"><code> <span class="nt"><web-app</span> <span class="na">xmlns=</span><span class="s">"http://java.sun.com/xml/ns/javaee"</span> <span class="na">xmlns:xsi=</span><span class="s">"http://www.w3.org/2001/XMLSchema-instance"</span> <span class="na">xsi:schemaLocation=</span><span class="s">"http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"</span> <span class="na">version=</span><span class="s">"3.0"</span><span class="nt">></span> + <span class="nt"><context-param></span> + <span class="nt"><param-name></span>contextConfigLocation<span class="nt"></param-name></span> + <span class="nt"><param-value></span>classpath*:META-INF/spring/*.bean.xml classpath*:app-config.xml<span class="nt"></param-value></span> + <span class="nt"></context-param></span> + <span class="nt"><listener></span> + <span class="nt"><listener-class></span>io.servicecomb.transport.rest.servlet.RestServletContextListener<span class="nt"></listener-class></span> + <span class="nt"></listener></span> + <span class="nt"></web-app></span> +</code></pre> + </div> + + <p>å¨microservice.yamlæ件ä¸éè¦å¢å ä¸è¡é ç½®æ¥æå®urlPatternï¼</p> + + <div class="language-yaml highlighter-rouge"><pre class="highlight"><code> <span class="s">servicecomb.rest.servlet.urlPattern</span><span class="pi">:</span> <span class="s">/rest/*</span> +</code></pre> + </div> + </li> +</ul> + +<p>以ä¸ä¸¤ç§æ¹å¼æ¯çæçï¼ä¸¤ç§æ¹å¼é½éè¦å¨maven pomæ件ä¸æ·»å å¦ä¸ä¾èµï¼</p> + +<div class="language-xml highlighter-rouge"><pre class="highlight"><code><span class="nt"><dependency></span> + <span class="nt"><groupId></span>io.servicecomb<span class="nt"></groupId></span> + <span class="nt"><artifactId></span>transport-rest-servlet<span class="nt"></artifactId></span> +<span class="nt"></dependency></span> +</code></pre> +</div> + +<p>REST over Servletå¨microservice.yamlæ件ä¸çé 置项è§ä¸è¡¨ï¼</p> + +<p>表1 REST over Servleté 置项说æ</p> + +<table> + <thead> + <tr> + <th style="text-align: left">é 置项</th> + <th style="text-align: left">é»è®¤å¼</th> + <th style="text-align: left">åå¼èå´</th> + <th style="text-align: left">æ¯å¦å¿ é</th> + <th style="text-align: left">å«ä¹</th> + <th style="text-align: left">注æ</th> + </tr> + </thead> + <tbody> + <tr> + <td style="text-align: left">cse.rest.address</td> + <td style="text-align: left">0.0.0.0:8080</td> + <td style="text-align: left">-</td> + <td style="text-align: left">å¦</td> + <td style="text-align: left">æå¡çå¬å°å</td> + <td style="text-align: left">-</td> + </tr> + <tr> + <td style="text-align: left">cse.rest.timeout</td> + <td style="text-align: left">3000</td> + <td style="text-align: left">-</td> + <td style="text-align: left">å¦</td> + <td style="text-align: left">è¶ æ¶æ¶é´</td> + <td style="text-align: left">åä½ä¸ºæ¯«ç§</td> + </tr> + <tr> + <td style="text-align: left">cse.request.timeout</td> + <td style="text-align: left">30000</td> + <td style="text-align: left">-</td> + <td style="text-align: left">å¦</td> + <td style="text-align: left">请æ±è¶ æ¶æ¶é´</td> + <td style="text-align: left">åREST over Vertxçé ç½®</td> + </tr> + <tr> + <td style="text-align: left">cse.references.[æå¡å].transport</td> + <td style="text-align: left">rest</td> + <td style="text-align: left"> </td> + <td style="text-align: left">å¦</td> + <td style="text-align: left">访é®çtransportç±»å</td> + <td style="text-align: left">åREST over Vertxçé ç½®</td> + </tr> + <tr> + <td style="text-align: left">cse.references.[æå¡å].version-rule</td> + <td style="text-align: left">latest</td> + <td style="text-align: left">-</td> + <td style="text-align: left">å¦</td> + <td style="text-align: left">访é®å®ä¾ççæ¬å·</td> + <td style="text-align: left">åREST over Vertxçé ç½®</td> + </tr> + </tbody> +</table> + +<h3 id="示ä¾ä»£ç ">示ä¾ä»£ç </h3> + +<p>microservice.yamlæ件ä¸çé 置示ä¾å¦ä¸ï¼</p> + +<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">cse</span><span class="pi">:</span> + <span class="s">rest</span><span class="pi">:</span> + <span class="s">address</span><span class="pi">:</span> <span class="s">0.0.0.0:8080</span> + <span class="s">timeout</span><span class="pi">:</span> <span class="s">3000</span> +</code></pre> +</div> + +<h2 id="rest-over-vertx">REST over Vertx</h2> +<h3 id="é 置说æ-1">é 置说æ</h3> + +<p>REST over Vertxéä¿¡éé对åºä½¿ç¨standaloneé¨ç½²è¿è¡æ¨¡å¼ï¼å¯ç´æ¥éè¿mainå½æ°æèµ·ãmainå½æ°ä¸éè¦åå§åæ¥å¿åå è½½æå¡é ç½®ï¼ä»£ç å¦ä¸ï¼</p> + +<div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="kn">import</span> <span class="nn">io.servicecomb.foundation.common.utils.BeanUtils</span><span class="o">;</span> +<span class="kn">import</span> <span class="nn">io.servicecomb.foundation.common.utils.Log4jUtils</span><span class="o">;</span> + +<span class="kd">public</span> <span class="kd">class</span> <span class="nc">MainServer</span> <span class="o">{</span> + <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span> + <span class="err">ã</span><span class="n">Log4jUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span><span class="c1">//æ¥å¿åå§å</span> + <span class="err">ã</span><span class="n">BeanUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span> <span class="c1">// Spring beanåå§å</span> + <span class="o">}</span> +<span class="o">}</span> +</code></pre> +</div> + +<p>使ç¨REST over Vertxç½ç»éééè¦å¨maven pomæ件ä¸æ·»å å¦ä¸ä¾èµï¼</p> + +<div class="language-xml highlighter-rouge"><pre class="highlight"><code><span class="nt"><dependency></span> +ãã<span class="nt"><groupId></span>io.servicecomb<span class="nt"></groupId></span> +ãã<span class="nt"><artifactId></span>transport-rest-vertx<span class="nt"></artifactId></span> +<span class="nt"></dependency></span> +</code></pre> +</div> + +<p>REST over Vertxééå¨microservice.yamlæ件ä¸æ以ä¸é 置项ï¼</p> + +<p>表2 REST over Vertxé 置项说æ</p> + +<table> + <thead> + <tr> + <th style="text-align: left">é 置项</th> + <th style="text-align: left">é»è®¤å¼</th> + <th style="text-align: left">åå¼èå´</th> + <th style="text-align: left">æ¯å¦å¿ é</th> + <th style="text-align: left">å«ä¹</th> + <th style="text-align: left">注æ</th> + </tr> + </thead> + <tbody> + <tr> + <td style="text-align: left">cse.rest.address</td> + <td style="text-align: left">0.0.0.0:8080</td> + <td style="text-align: left">-</td> + <td style="text-align: left">å¦</td> + <td style="text-align: left">æå¡çå¬å°å</td> + <td style="text-align: left">ä» æå¡æä¾è éè¦é ç½®</td> + </tr> + <tr> + <td style="text-align: left">cse.rest.server.thread-count</td> + <td style="text-align: left">1</td> + <td style="text-align: left">-</td> + <td style="text-align: left">å¦</td> + <td style="text-align: left">æå¡ç«¯çº¿ç¨æ°</td> + <td style="text-align: left">ä» æå¡æä¾è éè¦é ç½®</td> + </tr> + <tr> + <td style="text-align: left">cse.rest.client.thread-count</td> + <td style="text-align: left">1</td> + <td style="text-align: left">-</td> + <td style="text-align: left">å¦</td> + <td style="text-align: left">客æ·ç«¯ç½ç»çº¿ç¨æ°</td> + <td style="text-align: left">ä» æå¡æ¶è´¹è éè¦é ç½®</td> + </tr> + <tr> + <td style="text-align: left">cse.rest.client.connection-pool-per-thread</td> + <td style="text-align: left">1</td> + <td style="text-align: left">-</td> + <td style="text-align: left">å¦</td> + <td style="text-align: left">客æ·ç«¯æ¯ä¸ªç½ç»çº¿ç¨ä¸çè¿æ¥æ± ç个æ°</td> + <td style="text-align: left">ä» æå¡æ¶è´¹è éè¦é ç½®</td> + </tr> + <tr> + <td style="text-align: left">cse.request.timeout</td> + <td style="text-align: left">30000</td> + <td style="text-align: left">-</td> + <td style="text-align: left">å¦</td> + <td style="text-align: left">请æ±è¶ æ¶æ¶é´</td> + <td style="text-align: left"> </td> + </tr> + <tr> + <td style="text-align: left">cse.references.[æå¡å].transport</td> + <td style="text-align: left">rest</td> + <td style="text-align: left"> </td> + <td style="text-align: left">å¦</td> + <td style="text-align: left">访é®çtransportç±»å</td> + <td style="text-align: left">ä» æå¡æ¶è´¹è éè¦é ç½®</td> + </tr> + <tr> + <td style="text-align: left">cse.references.[æå¡å].version-rule</td> + <td style="text-align: left">latest</td> + <td style="text-align: left">-</td> + <td style="text-align: left">å¦</td> + <td style="text-align: left">访é®å®ä¾ççæ¬å·</td> + <td style="text-align: left">ä» æå¡æ¶è´¹è éè¦é ç½®æ¯ælatestï¼1.0.0+ï¼1.0.0-2.0.2ï¼ç²¾ç¡®çæ¬ã详ç»åèæå¡ä¸å¿çæ¥å£æè¿°ã</td> + </tr> + </tbody> +</table> + +<h3 id="示ä¾ä»£ç -1">示ä¾ä»£ç </h3> + +<p>microservice.yamlæ件ä¸çé 置示ä¾ï¼</p> + +<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">cse</span><span class="pi">:</span> + <span class="s">rest</span><span class="pi">:</span> + <span class="s">address</span><span class="pi">:</span> <span class="s">0.0.0.0:8080</span> + <span class="s">thread-count</span><span class="pi">:</span> <span class="s">1</span> + <span class="s">references</span><span class="pi">:</span> + <span class="s">hello</span><span class="pi">:</span> + <span class="s">transport</span><span class="pi">:</span> <span class="s">rest</span> + <span class="s">version-rule</span><span class="pi">:</span> <span class="s">0.0.1</span> +</code></pre> +</div> + +<h2 id="highway-rpcåè®®">Highway RPCåè®®</h2> +<h3 id="æ¦å¿µéè¿°-2">æ¦å¿µéè¿°</h3> + +<p>Highwayæ¯ServiceCombçé«æ§è½ç§æåè®®ï¼ç¨æ·å¯å¨æç¹æ®æ§è½éæ±çåºæ¯ä¸éç¨ã</p> + +<h3 id="é 置说æ-2">é 置说æ</h3> + +<p>使ç¨Highwayç½ç»éééè¦å¨maven pomæ件ä¸æ·»å å¦ä¸ä¾èµï¼</p> + +<div class="language-xml highlighter-rouge"><pre class="highlight"><code><span class="nt"><dependency></span> + <span class="nt"><groupId></span>io.servicecomb<span class="nt"></groupId></span> + <span class="nt"><artifactId></span>transport-highway<span class="nt"></artifactId></span> +<span class="nt"></dependency></span> +</code></pre> +</div> + +<p>Highwayééå¨microservice.yamlæ件ä¸çé 置项å¦ä¸è¡¨æ示ï¼</p> + +<p>表3 Highwayé 置项说æ</p> + +<table> + <thead> + <tr> + <th style="text-align: left">é 置项</th> + <th style="text-align: left">é»è®¤å¼</th> + <th style="text-align: left">åå¼èå´</th> + <th style="text-align: left">æ¯å¦å¿ é</th> + <th style="text-align: left">å«ä¹</th> + <th style="text-align: left">注æ</th> + </tr> + </thead> + <tbody> + <tr> + <td style="text-align: left">cse.highway.address</td> + <td style="text-align: left">0.0.0.0:7070</td> + <td style="text-align: left">-</td> + <td style="text-align: left">å¦</td> + <td style="text-align: left">æå¡çå¬å°å</td> + <td style="text-align: left">-</td> + </tr> + <tr> + <td style="text-align: left">cse.highway.server.thread-count</td> + <td style="text-align: left">1</td> + <td style="text-align: left">-</td> + <td style="text-align: left">å¦</td> + <td style="text-align: left">æå¡ç«¯ç½ç»çº¿ç¨ä¸ªæ°</td> + <td style="text-align: left">-</td> + </tr> + <tr> + <td style="text-align: left">cse.highway.client.thread-count</td> + <td style="text-align: left">1</td> + <td style="text-align: left">-</td> + <td style="text-align: left">å¦</td> + <td style="text-align: left">客æ·ç«¯ç½ç»çº¿ç¨ä¸ªæ°</td> + <td style="text-align: left">-</td> + </tr> + <tr> + <td style="text-align: left">cse.highway.client.connection-pool-per-thread</td> + <td style="text-align: left">1</td> + <td style="text-align: left">-</td> + <td style="text-align: left">å¦</td> + <td style="text-align: left">客æ·ç«¯æ¯ä¸ªç½ç»çº¿ç¨çè¿æ¥æ± 个æ°</td> + <td style="text-align: left">-</td> + </tr> + <tr> + <td style="text-align: left">cse.request.timeout</td> + <td style="text-align: left">30000</td> + <td style="text-align: left">-</td> + <td style="text-align: left">å¦</td> + <td style="text-align: left">请æ±è¶ æ¶æ¶é´</td> + <td style="text-align: left">åREST over Vertxçé ç½®</td> + </tr> + <tr> + <td style="text-align: left">cse.references.[æå¡å].transport</td> + <td style="text-align: left">rest</td> + <td style="text-align: left"> </td> + <td style="text-align: left">å¦</td> + <td style="text-align: left">访é®çtransportç±»å</td> + <td style="text-align: left">åREST over Vertxçé ç½®</td> + </tr> + <tr> + <td style="text-align: left">cse.references.[æå¡å].version-rule</td> + <td style="text-align: left">latest</td> + <td style="text-align: left">-</td> + <td style="text-align: left">å¦</td> + <td style="text-align: left">访é®å®ä¾ççæ¬å·</td> + <td style="text-align: left">åREST over Vertxçé ç½®</td> + </tr> + </tbody> +</table> + +<h3 id="示ä¾ä»£ç -2">示ä¾ä»£ç </h3> + +<p>microservice.yamlæ件ä¸çé 置示ä¾ï¼</p> + +<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">cse</span><span class="pi">:</span> + <span class="s">highway</span><span class="pi">:</span> + <span class="s">address</span><span class="pi">:</span> <span class="s">0.0.0.0:7070</span> +</code></pre> +</div> + + + </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">èµæº</p> + <li><a href="/cn/docs/quick-start/">å¿«éå ¥é¨</a></li> + <li><a href="/cn/users/user-guide/">ç¨æ·æå</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">è´¡ç®</p> + <li><a href="https://github.com/ServiceComb/ServiceComb.github.io/issues/new?title=Issue with _users/cn/communicate-protocol.md">æ¥åæ¬ç½é¡µé®é¢</a></li> + <li><a href="https://github.com/ServiceComb/ServiceComb.github.io/edit/master/_users/cn/communicate-protocol.md">å¨Githubä¸ç¼è¾æ¤é¡µ</a></li> + <li><a href="/cn/developers/submit-codes/">代ç æ交æå</a></li> + </ul> + </div> + <div class="col"> + <ul class="social-icons"> + <p class="header">社åº</p> + <li> + <a href="https://groups.google.com/forum/#!forum/servicecomb-developers" target="_blank"><span class="group">å¼åè </span></a> | + <a href="https://groups.google.com/forum/#!forum/servicecomb-users" target="_blank">ç¨æ·</span></a> + </li> + <li> + <a href="http://github.com/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>© 2017 Apache incubator ServiceComb. ææ¯æ¥èªäº <a href="http://jekyllrb.com" rel="nofollow">Jekyll</a> & <a href="https://mademistakes.com/work/minimal-mistakes-jekyll-theme/" rel="nofollow">Minimal Mistakes</a>.</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> http://git-wip-us.apache.org/repos/asf/incubator-servicecomb-website/blob/08e1b43f/content/cn/users/customized-tracing/index.html ---------------------------------------------------------------------- diff --git a/content/cn/users/customized-tracing/index.html b/content/cn/users/customized-tracing/index.html new file mode 100644 index 0000000..02778e5 --- /dev/null +++ b/content/cn/users/customized-tracing/index.html @@ -0,0 +1,804 @@ +<!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 incubator ServiceComb</title> + + + + +<meta name="description" content="èªå®ä¹è°ç¨é¾æç¹"> + + + + +<meta name="author" content=""> + +<meta property="og:locale" content="cn"> +<meta property="og:site_name" content="Apache incubator ServiceComb"> +<meta property="og:title" content="èªå®ä¹è°ç¨é¾æç¹"> + + + <link rel="canonical" href="http://github.com/pages/ServiceComb/servicesomb.github.io/cn/users/customized-tracing/"> + <meta property="og:url" content="http://github.com/pages/ServiceComb/servicesomb.github.io/cn/users/customized-tracing/"> + + + + <meta property="og:description" content="èªå®ä¹è°ç¨é¾æç¹"> + + + + <meta name="twitter:site" content="@ServiceComb"> + <meta name="twitter:title" content="èªå®ä¹è°ç¨é¾æç¹"> + <meta name="twitter:description" content="èªå®ä¹è°ç¨é¾æç¹"> + <meta name="twitter:url" content=""> + + + <meta name="twitter:card" content="summary"> + + + + + + + + + + + + + + + + + + + + + + + <script type="application/ld+json"> + { + "@context" : "http://schema.org", + "@type" : "Person", + "name" : "Apache incubator ServiceComb", + "url" : "http://github.com/pages/ServiceComb/servicesomb.github.io", + "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 incubator 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/js/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"> +<link rel="stylesheet" href="/assets/css/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.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"> + <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="//assets/images/ServiceComb-logo-1.png"></a> + + <ul class="visible-links"> + + + <li class="masthead__menu-item"> + + + + <a href="/cn/docs/quick-start/">å¿«éå ¥é¨</a> + + </li> + + + <li class="masthead__menu-item"> + + + + <a class="active" href="/cn/users/">ç¨æ·æå</a> + + </li> + + + <li class="masthead__menu-item"> + + + + <a href="/cn/developers/">å¼åè æå</a> + + </li> + + + <li class="masthead__menu-item"> + + + + <a href="/cn/year-archive/">åæ</a> + + </li> + + + <li class="masthead__menu-item"> + + + + <a href="/cn/faqs/">常è§é®é¢</a> + + </li> + + </ul> + <button><div class="navicon"></div></button> + <ul class="hidden-links hidden"></ul> + <div class="nav-lang"> + + + + <a href=/users/customized-tracing/>English</a> + + </div> + </nav> + </div> + </div> +</div> + + + + + + +<div id="main" role="main"> + + <div class="sidebar sticky"> + + <div class="back-to-home">é¦é¡µ > <a href="/cn/">ServiceComb</a></div> + + + + + + + + + + + +<nav class="nav__list"> + + <input id="ac-toc" name="accordion-toc" type="checkbox" /> + <label for="ac-toc">åæ¢èå</label> + <ul class="nav__items"> + + <li> + + <span class="nav__sub-title">ç¨æ·æå</span> + + + + <ul> + + + + + + + + <li><a href="/cn/users/" class="">Java Chassisç³»ç»æ¶æ</a></li> + + + + + + + + <li><a href="/cn/users/setup-environment/" class="">ç¯å¢é ç½®</a></li> + + </ul> + + </li> + + <li> + + <span class="nav__sub-title">å¼åæå¡æä¾è </span> + + + + <ul> + + + + + + + + <li><a href="/cn/users/service-definition/" class="">æå¡å®ä¹</a></li> + + + + + + + + <li><a href="/cn/users/service-contract/" class="">æå¡å¥çº¦</a></li> + + + + + + + + <li><a href="/cn/users/develop-with-springmvc/" class="">ç¨SpringMVCå¼åå¾®æå¡</a></li> + + + + + + + + <li><a href="/cn/users/develop-with-jax-rs/" class="">ç¨JAX-RSå¼åå¾®æå¡</a></li> + + + + + + + + <li><a href="/cn/users/develop-with-transparent-rpc/" class="">ç¨éæRPCå¼åå¾®æå¡</a></li> + + + + + + + + <li><a href="/cn/users/service-interface-constraints/" class="">æå¡æ¥å£çº¦æ</a></li> + + + + + + + + <li><a href="/cn/users/service-configurations/" class="">æå¡é ç½®</a></li> + + + + + + + + <li><a href="/cn/users/communicate-protocol/" class="">éä¿¡åè®®</a></li> + + + + + + + + <li><a href="/cn/users/application-boot-process/" class="">ç¨åºå¯å¨é»è¾</a></li> + + + + + + + + <li><a href="/cn/users/service-heartbeat/" class="">æå¡å¿è·³</a></li> + + </ul> + + </li> + + <li> + + <span class="nav__sub-title">å¼åæå¡æ¶è´¹è </span> + + + + <ul> + + + + + + + + <li><a href="/cn/users/develop-with-rest-template/" class="">使ç¨Rest Templateæ¹å¼å¼å</a></li> + + + + + + + + <li><a href="/cn/users/develop-with-rpc/" class="">使ç¨RPCæ¹å¼å¼å</a></li> + + + + + + + + <li><a href="/cn/users/use-service-contract/" class="">使ç¨æå¡å¥çº¦</a></li> + + + + + + + + <li><a href="/cn/users/invoke-control/" class="">è°ç¨æ§å¶</a></li> + + </ul> + + </li> + + <li> + + <span class="nav__sub-title">éç¨å¼å</span> + + + + <ul> + + + + + + + + <li><a href="/cn/users/local-develop-test/" class="">æ¬å°å¼åä¸æµè¯</a></li> + + + + + + + + <li><a href="/cn/users/use-servicecomb-in-spring-boot/" class="">å¨Spring Bootä¸ä½¿ç¨ServiceComb</a></li> + + + + + + + + <li><a href="/cn/users/distributed-tracing/" class="">åå¸å¼è°ç¨é¾è¿½è¸ª</a></li> + + + + + + + + <li><a href="/cn/users/customized-tracing/" class="active">èªå®ä¹è°ç¨é¾æç¹</a></li> + + </ul> + + </li> + + <li> + + <span class="nav__sub-title">æå¡è½åå¼æ¾</span> + + + + <ul> + + + + + + + + <li><a href="/cn/users/edging-service/nginx/" class="">使ç¨confdåNginxåè¾¹ç¼æå¡</a></li> + + + + + + + + <li><a href="/cn/users/edging-service/zuul/" class="">使ç¨Zuulåè¾¹ç¼æå¡</a></li> + + </ul> + + </li> + + <li> + + + + + <a href="/cn/users/metrics/"><span class="nav__sub-title nav__sub-title-with-url">çæ§</span></a> + + + + </li> + + <li> + + <span class="nav__sub-title">é¨ç½²</span> + + + + <ul> + + + + + + + + <li><a href="/cn/users/run-mode/" class="">è¿è¡æ¨¡å¼</a></li> + + </ul> + + </li> + + <li> + + <span class="nav__sub-title">å¾®æå¡å®å ¨</span> + + + + <ul> + + + + + + + + <li><a href="/cn/users/use-tls/" class="">使ç¨TLSéä¿¡</a></li> + + </ul> + + </li> + + </ul> +</nav> + + + + </div> + + + + <article class="page" itemscope itemtype="http://schema.org/CreativeWork"> + <meta itemprop="headline" content="èªå®ä¹è°ç¨é¾æç¹"> + <meta itemprop="description" content="èªå®ä¹è°ç¨é¾æç¹"> + + <meta itemprop="dateModified" content="August 15, 2017"> + + <div class="page__inner-wrap"> + + + <header> + <h1 class="page__title" itemprop="headline">èªå®ä¹è°ç¨é¾æç¹ +</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> å¨æ¬é¡µä¸</h4></header> --> +<ul class="toc__menu" id="markdown-toc"> + <li><a href="#æ¦å¿µéè¿°" id="markdown-toc-æ¦å¿µéè¿°">æ¦å¿µéè¿°</a></li> + <li><a href="#åææ¡ä»¶" id="markdown-toc-åææ¡ä»¶">åææ¡ä»¶</a></li> + <li><a href="#注æäºé¡¹" id="markdown-toc-注æäºé¡¹">注æäºé¡¹</a></li> + <li><a href="#èªå®ä¹è°ç¨é¾æç¹" id="markdown-toc-èªå®ä¹è°ç¨é¾æç¹">èªå®ä¹è°ç¨é¾æç¹</a></li> + <li><a href="#使ç¨æ¥éª¤" id="markdown-toc-使ç¨æ¥éª¤">使ç¨æ¥éª¤:</a> <ul> + <li><a href="#æ·»å ä¾èµ" id="markdown-toc-æ·»å ä¾èµ">æ·»å ä¾èµ</a></li> + <li><a href="#å¯ç¨èªå®ä¹æç¹åè½" id="markdown-toc-å¯ç¨èªå®ä¹æç¹åè½">å¯ç¨èªå®ä¹æç¹åè½</a></li> + <li><a href="#å®å¶æç¹" id="markdown-toc-å®å¶æç¹">å®å¶æç¹</a></li> + </ul> + </li> + <li><a href="#å®å¶ä¸æ¥çæ°æ®" id="markdown-toc-å®å¶ä¸æ¥çæ°æ®">å®å¶ä¸æ¥çæ°æ®</a></li> +</ul> + + </nav> +</aside> + +<h2 id="æ¦å¿µéè¿°">æ¦å¿µéè¿°</h2> + +<p>åå¸å¼è°ç¨é¾è¿½è¸ªæä¾äºæå¡é´è°ç¨çæ¶åºä¿¡æ¯ï¼ä½æå¡å é¨çé¾è·¯è°ç¨ä¿¡æ¯å¯¹å¼åè åæ ·éè¦ï¼å¦æè½å°ä¸¤è åäºä¸ºä¸ï¼å°±è½æä¾æ´å®æ´çè°ç¨é¾ï¼æ´å®¹æå®ä½é误åæ½å¨æ§è½é®é¢ã</p> + +<h2 id="åææ¡ä»¶">åææ¡ä»¶</h2> + +<ul> + <li>使ç¨èªå®ä¹æç¹åè½éè¦é¦å é 置并å¯ç¨Java Chassiså¾®æå¡è°ç¨é¾ã</li> +</ul> + +<h2 id="注æäºé¡¹">注æäºé¡¹</h2> + +<ul> + <li>使ç¨<code class="highlighter-rouge">@Span</code>注éçèªå®ä¹æç¹åè½åªæ¯æåJava Chassisè°ç¨è¯·æ±åä¸çº¿ç¨çæ¹æ³è°ç¨ã</li> + <li>æ·»å <code class="highlighter-rouge">@Span</code>注éçæ¹æ³å¿ é¡»æ¯Spring管ççBeanï¼å¦åéè¦æè¿é<a href="https://stackoverflow.com/questions/41383941/load-time-weaving-for-non-spring-beans-in-a-spring-application">æå°çæ¹æ³</a>é ç½®ã</li> +</ul> + +<h2 id="èªå®ä¹è°ç¨é¾æç¹">èªå®ä¹è°ç¨é¾æç¹</h2> + +<p>该åè½éæäºZipkinï¼æä¾<code class="highlighter-rouge">@Span</code>注é为éè¦è¿½è¸ªçæ¹æ³èªå®ä¹æç¹ãJava Chassiså°èªå¨è¿½è¸ªæææ·»å <code class="highlighter-rouge">@Span</code>注éçæ¹æ³ï¼ææ¯ä¸ªæ¹æ³çæ¬å°è°ç¨ä¿¡æ¯ä¸æå¡é´è°ç¨ä¿¡æ¯è¿æ¥èµ·æ¥ã</p> + +<h2 id="使ç¨æ¥éª¤">使ç¨æ¥éª¤:</h2> + +<h3 id="æ·»å ä¾èµ">æ·»å ä¾èµ</h3> + +<p>åºäº ServiceComb Java Chassis çå¾®æå¡åªéè¦æ·»å å¦ä¸ä¾èµå° pom.xmlï¼</p> + +<div class="language-xml highlighter-rouge"><pre class="highlight"><code> <span class="nt"><dependency></span> + <span class="nt"><groupId></span>io.servicecomb<span class="nt"></groupId></span> + <span class="nt"><artifactId></span>tracing-zipkin<span class="nt"></artifactId></span> + <span class="nt"></dependency></span> +</code></pre> +</div> + +<h3 id="å¯ç¨èªå®ä¹æç¹åè½">å¯ç¨èªå®ä¹æç¹åè½</h3> + +<p>å¨åºç¨å ¥å£æSpringé 置类ä¸æ·»å <code class="highlighter-rouge">@EnableZipkinTracing</code>注éï¼</p> + +<div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="nd">@SpringBootApplication</span> +<span class="nd">@EnableZipkinTracing</span> +<span class="kd">public</span> <span class="kd">class</span> <span class="nc">ZipkinSpanTestApplication</span> <span class="o">{</span> + <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span> + <span class="n">SpringApplication</span><span class="o">.</span><span class="na">run</span><span class="o">(</span><span class="n">ZipkinSpanTestApplication</span><span class="o">.</span><span class="na">class</span><span class="o">);</span> + <span class="o">}</span> +<span class="o">}</span> +</code></pre> +</div> + +<h3 id="å®å¶æç¹">å®å¶æç¹</h3> + +<p>å¨éè¦å®å¶æç¹çæ¹æ³ä¸æ·»å <code class="highlighter-rouge">@Span</code>注éï¼</p> + +<div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="nd">@Component</span> +<span class="kd">public</span> <span class="kd">class</span> <span class="nc">SlowRepoImpl</span> <span class="kd">implements</span> <span class="n">SlowRepo</span> <span class="o">{</span> + <span class="kd">private</span> <span class="kd">static</span> <span class="kd">final</span> <span class="n">Logger</span> <span class="n">logger</span> <span class="o">=</span> <span class="n">LoggerFactory</span><span class="o">.</span><span class="na">getLogger</span><span class="o">(</span><span class="n">SlowRepoImpl</span><span class="o">.</span><span class="na">class</span><span class="o">);</span> + + <span class="kd">private</span> <span class="kd">final</span> <span class="n">Random</span> <span class="n">random</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Random</span><span class="o">();</span> + + <span class="nd">@Span</span> + <span class="nd">@Override</span> + <span class="kd">public</span> <span class="n">String</span> <span class="nf">crawl</span><span class="o">()</span> <span class="kd">throws</span> <span class="n">InterruptedException</span> <span class="o">{</span> + <span class="n">logger</span><span class="o">.</span><span class="na">info</span><span class="o">(</span><span class="s">"in /crawl"</span><span class="o">);</span> + <span class="n">Thread</span><span class="o">.</span><span class="na">sleep</span><span class="o">(</span><span class="n">random</span><span class="o">.</span><span class="na">nextInt</span><span class="o">(</span><span class="mi">200</span><span class="o">));</span> + <span class="k">return</span> <span class="s">"crawled"</span><span class="o">;</span> + <span class="o">}</span> +<span class="o">}</span> +</code></pre> +</div> + +<p>å°±è¿æ ·ï¼éè¿ä½¿ç¨<code class="highlighter-rouge">@Span</code>注éï¼æ们å¯å¨äºåºäº Zipkin çèªå®ä¹æç¹åè½ã</p> + +<h2 id="å®å¶ä¸æ¥çæ°æ®">å®å¶ä¸æ¥çæ°æ®</h2> + +<p>éè¿èªå®ä¹æç¹ä¸æ¥çè°ç¨é¾å å«ä¸¤æ¡æ°æ®ï¼</p> + +<ul> + <li><strong>span name</strong> é»è®¤ä¸ºå½å注éçæ¹æ³å ¨åã</li> + <li><strong>call.path</strong> é»è®¤ä¸ºå½å注éçæ¹æ³ç¾åã</li> +</ul> + +<p>ä¾å¦ï¼ä¸è¿°ä¾å<code class="highlighter-rouge">SlowRepoImp</code>éä¸æ¥çæ°æ®å¦ä¸ï¼</p> + +<table> + <thead> + <tr> + <th style="text-align: left">key</th> + <th style="text-align: left">value</th> + </tr> + </thead> + <tbody> + <tr> + <td style="text-align: left">span name</td> + <td style="text-align: left">crawl</td> + </tr> + <tr> + <td style="text-align: left">call.path</td> + <td style="text-align: left">public abstract java.lang.String io.servicecomb.tests.tracing.SlowRepo.crawl() throws java.lang.InterruptedException</td> + </tr> + </tbody> +</table> + +<p>å¦æéè¦å®å¶ä¸æ¥çæ°æ®å 容ï¼å¯ä»¥ä¼ å ¥èªå®ä¹çåæ°ï¼</p> + +<div class="language-java highlighter-rouge"><pre class="highlight"><code> <span class="kd">public</span> <span class="kd">static</span> <span class="kd">class</span> <span class="nc">CustomSpanTask</span> <span class="o">{</span> + <span class="nd">@Span</span><span class="o">(</span><span class="n">spanName</span> <span class="o">=</span> <span class="s">"transaction1"</span><span class="o">,</span> <span class="n">callPath</span> <span class="o">=</span> <span class="s">"startA"</span><span class="o">)</span> + <span class="kd">public</span> <span class="n">String</span> <span class="nf">invoke</span><span class="o">()</span> <span class="o">{</span> + <span class="k">return</span> <span class="s">"invoke the method"</span><span class="o">;</span> + <span class="o">}</span> + <span class="o">}</span> +</code></pre> +</div> + + + </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">èµæº</p> + <li><a href="/cn/docs/quick-start/">å¿«éå ¥é¨</a></li> + <li><a href="/cn/users/user-guide/">ç¨æ·æå</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">è´¡ç®</p> + <li><a href="https://github.com/ServiceComb/ServiceComb.github.io/issues/new?title=Issue with _users/cn/customized-tracing.md">æ¥åæ¬ç½é¡µé®é¢</a></li> + <li><a href="https://github.com/ServiceComb/ServiceComb.github.io/edit/master/_users/cn/customized-tracing.md">å¨Githubä¸ç¼è¾æ¤é¡µ</a></li> + <li><a href="/cn/developers/submit-codes/">代ç æ交æå</a></li> + </ul> + </div> + <div class="col"> + <ul class="social-icons"> + <p class="header">社åº</p> + <li> + <a href="https://groups.google.com/forum/#!forum/servicecomb-developers" target="_blank"><span class="group">å¼åè </span></a> | + <a href="https://groups.google.com/forum/#!forum/servicecomb-users" target="_blank">ç¨æ·</span></a> + </li> + <li> + <a href="http://github.com/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>© 2017 Apache incubator ServiceComb. ææ¯æ¥èªäº <a href="http://jekyllrb.com" rel="nofollow">Jekyll</a> & <a href="https://mademistakes.com/work/minimal-mistakes-jekyll-theme/" rel="nofollow">Minimal Mistakes</a>.</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>