blob: 756c7d0dcb9e6e708ef47749af1a35f02645314a [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en_US" >
<head>
<meta charset="UTF-8">
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>HTTP2 ยท GitBook</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="description" content="">
<meta name="generator" content="GitBook 3.2.3">
<link rel="stylesheet" href="../../gitbook/style.css">
<link rel="stylesheet" href="../../gitbook/gitbook-plugin-highlight/website.css">
<link rel="stylesheet" href="../../gitbook/gitbook-plugin-search/search.css">
<link rel="stylesheet" href="../../gitbook/gitbook-plugin-fontsettings/website.css">
<link rel="stylesheet" href="../styles/website.css">
<meta name="HandheldFriendly" content="true"/>
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<link rel="apple-touch-icon-precomposed" sizes="152x152" href="../../gitbook/images/apple-touch-icon-precomposed-152.png">
<link rel="shortcut icon" href="../../gitbook/images/favicon.ico" type="image/x-icon">
<link rel="next" href="../catalog/general-develop.html" />
<link rel="prev" href="highway-rpc.html" />
</head>
<body>
<div class="book">
<div class="book-summary">
<div id="book-search-input" role="search">
<input type="text" placeholder="Type to search" />
</div>
<nav role="navigation">
<ul class="summary">
<li class="chapter " data-level="1.1" >
<span>
just-for-gitbook-build
</span>
<ul class="articles">
<li class="chapter " data-level="1.1.1" data-path="verticle-count.html">
<a href="verticle-count.html">
hidden
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="1.2" data-path="../">
<a href="../">
Overview
</a>
</li>
<li class="chapter " data-level="1.3" data-path="../catalog/start.html">
<a href="../catalog/start.html">
Getting Started
</a>
<ul class="articles">
<li class="chapter " data-level="1.3.1" data-path="../start/terminology.html">
<a href="../start/terminology.html">
Glossary
</a>
</li>
<li class="chapter " data-level="1.3.2" data-path="../start/architecture.html">
<a href="../start/architecture.html">
Architecture
</a>
</li>
<li class="chapter " data-level="1.3.3" data-path="../start/development-environment.html">
<a href="../start/development-environment.html">
Development environment
</a>
</li>
<li class="chapter " data-level="1.3.4" data-path="../start/first-sample.html">
<a href="../start/first-sample.html">
Develop the first microservice
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="1.4" data-path="../catalog/build-provider.html">
<a href="../catalog/build-provider.html">
Development Service Provider
</a>
<ul class="articles">
<li class="chapter " data-level="1.4.1" data-path="../build-provider/definition/service-definition.html">
<a href="../build-provider/definition/service-definition.html">
Service definition
</a>
</li>
<li class="chapter " data-level="1.4.2" data-path="../build-provider/define-contract.html">
<a href="../build-provider/define-contract.html">
Service contract definition
</a>
</li>
<li class="chapter " data-level="1.4.3" data-path="../build-provider/code-first.html">
<a href="../build-provider/code-first.html">
Implicit API definition
</a>
</li>
<li class="chapter " data-level="1.4.4" data-path="../build-provider/swagger-annotation.html">
<a href="../build-provider/swagger-annotation.html">
Use Swagger annotations
</a>
</li>
<li class="chapter " data-level="1.4.5" data-path="../build-provider/springmvc.html">
<a href="../build-provider/springmvc.html">
Develop with SpringMVC
</a>
</li>
<li class="chapter " data-level="1.4.6" data-path="../build-provider/jaxrs.html">
<a href="../build-provider/jaxrs.html">
Develop with JAX-RS
</a>
</li>
<li class="chapter " data-level="1.4.7" data-path="../build-provider/transparent-rpc.html">
<a href="../build-provider/transparent-rpc.html">
Develop with Transparent RPC
</a>
</li>
<li class="chapter " data-level="1.4.8" data-path="../build-provider/interface-constraints.html">
<a href="../build-provider/interface-constraints.html">
Interface definition and data type
</a>
</li>
<li class="chapter " data-level="1.4.9" data-path="../build-provider/listen-address-and-publish-address.html">
<a href="../build-provider/listen-address-and-publish-address.html">
Service listening address and publishing address
</a>
</li>
<li class="chapter " data-level="1.4.10" data-path="../build-provider/thread-pool.html">
<a href="../build-provider/thread-pool.html">
Thread pool
</a>
</li>
<li class="chapter " data-level="1.4.11" data-path="../build-provider/service-configuration.html">
<a href="../build-provider/service-configuration.html">
Service Configuration
</a>
<ul class="articles">
<li class="chapter " data-level="1.4.11.1" data-path="../build-provider/configuration/lb-strategy.html">
<a href="../build-provider/configuration/lb-strategy.html">
Load Balancing Policy
</a>
</li>
<li class="chapter " data-level="1.4.11.2" data-path="../build-provider/configuration/ratelimite-strategy.html">
<a href="../build-provider/configuration/ratelimite-strategy.html">
Rate Limiting Policy
</a>
</li>
<li class="chapter " data-level="1.4.11.3" data-path="../build-provider/configuration/downgrade-strategy.html">
<a href="../build-provider/configuration/downgrade-strategy.html">
Fallback Policy
</a>
</li>
<li class="chapter " data-level="1.4.11.4" data-path="../build-provider/configuration/parameter-validator.html">
<a href="../build-provider/configuration/parameter-validator.html">
Parameter Validator
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="1.4.12" data-path="../build-provider/bootup.html">
<a href="../build-provider/bootup.html">
Boot-up Process
</a>
</li>
<li class="chapter " data-level="1.4.13" data-path="../build-provider/access-log-configuration.html">
<a href="../build-provider/access-log-configuration.html">
Access Log Configuration
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="1.5" data-path="../catalog/build-consumer.html">
<a href="../catalog/build-consumer.html">
Writing Service Consumer
</a>
<ul class="articles">
<li class="chapter " data-level="1.5.1" data-path="../build-consumer/common-configuration.html">
<a href="../build-consumer/common-configuration.html">
Consumer common configuration
</a>
</li>
<li class="chapter " data-level="1.5.2" data-path="../build-consumer/using-resttemplate.html">
<a href="../build-consumer/using-resttemplate.html">
Using Rest Template
</a>
</li>
<li class="chapter " data-level="1.5.3" data-path="../build-consumer/using-AsyncRestTemplate.html">
<a href="../build-consumer/using-AsyncRestTemplate.html">
Using AsynRestTemplate
</a>
</li>
<li class="chapter " data-level="1.5.4" data-path="../build-consumer/develop-consumer-using-rpc.html">
<a href="../build-consumer/develop-consumer-using-rpc.html">
Using with RPC
</a>
</li>
<li class="chapter " data-level="1.5.5" data-path="../build-consumer/with-contract.html">
<a href="../build-consumer/with-contract.html">
Contract
</a>
</li>
<li class="chapter " data-level="1.5.6" data-path="../build-consumer/invoke-control.html">
<a href="../build-consumer/invoke-control.html">
Invoke control
</a>
<ul class="articles">
<li class="chapter " data-level="1.5.6.1" data-path="../build-consumer/circuit-breaker.html">
<a href="../build-consumer/circuit-breaker.html">
Circuit Breaker
</a>
</li>
<li class="chapter " data-level="1.5.6.2" data-path="../build-consumer/flow-control.html">
<a href="../build-consumer/flow-control.html">
Flow Control
</a>
</li>
<li class="chapter " data-level="1.5.6.3" data-path="../build-consumer/fault-injection.html">
<a href="../build-consumer/fault-injection.html">
Fault Injection
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="1.5.7" data-path="../build-consumer/3rd-party-service-invoke.html">
<a href="../build-consumer/3rd-party-service-invoke.html">
Invoke 3rd-party REST services
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="1.6" data-path="transport.html">
<a href="transport.html">
Transports
</a>
<ul class="articles">
<li class="chapter " data-level="1.6.1" data-path="rest-over-servlet.html">
<a href="rest-over-servlet.html">
REST over Servlet
</a>
</li>
<li class="chapter " data-level="1.6.2" data-path="rest-over-vertx.html">
<a href="rest-over-vertx.html">
REST over Vertx
</a>
</li>
<li class="chapter " data-level="1.6.3" data-path="highway-rpc.html">
<a href="highway-rpc.html">
Highway
</a>
</li>
<li class="chapter active" data-level="1.6.4" data-path="http2.html">
<a href="http2.html">
HTTP2
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="1.7" data-path="../catalog/general-develop.html">
<a href="../catalog/general-develop.html">
General Development
</a>
<ul class="articles">
<li class="chapter " data-level="1.7.1" data-path="../general-development/visit-sc.html">
<a href="../general-development/visit-sc.html">
Access Service Center
</a>
</li>
<li class="chapter " data-level="1.7.2" data-path="../general-development/metrics.html">
<a href="../general-development/metrics.html">
Metrics
</a>
</li>
<li class="chapter " data-level="1.7.3" data-path="../general-development/microservice-invocation-chain.html">
<a href="../general-development/microservice-invocation-chain.html">
Microservice invocation chain
</a>
</li>
<li class="chapter " data-level="1.7.4" data-path="../general-development/customized-tracing.html">
<a href="../general-development/customized-tracing.html">
Customized-Tracing
</a>
</li>
<li class="chapter " data-level="1.7.5" data-path="../general-development/local-develop-test.html">
<a href="../general-development/local-develop-test.html">
Local development and testing
</a>
</li>
<li class="chapter " data-level="1.7.6" data-path="../general-development/http-filter.html">
<a href="../general-development/http-filter.html">
Http Filter
</a>
</li>
<li class="chapter " data-level="1.7.7" data-path="../general-development/file-upload.html">
<a href="../general-development/file-upload.html">
File Uploading
</a>
</li>
<li class="chapter " data-level="1.7.8" data-path="../general-development/file-download.html">
<a href="../general-development/file-download.html">
File Downloading
</a>
</li>
<li class="chapter " data-level="1.7.9" data-path="../general-development/reactive.html">
<a href="../general-development/reactive.html">
Reactive Programing
</a>
</li>
<li class="chapter " data-level="1.7.10" data-path="../general-development/dnsconfig.html">
<a href="../general-development/dnsconfig.html">
DNS Custom Configuration
</a>
</li>
<li class="chapter " data-level="1.7.11" data-path="../general-development/dai-li-she-zhi.html">
<a href="../general-development/dai-li-she-zhi.html">
Proxy Settings
</a>
</li>
<li class="chapter " data-level="1.7.12" data-path="../general-development/report-framework-version.html">
<a href="../general-development/report-framework-version.html">
Report framework version
</a>
</li>
<li class="chapter " data-level="1.7.13" data-path="../general-development/cross-app-invocation.html">
<a href="../general-development/cross-app-invocation.html">
Cross-application invocation
</a>
</li>
<li class="chapter " data-level="1.7.14" data-path="../general-development/secret-field.html">
<a href="../general-development/secret-field.html">
Customized serialization and deserialization
</a>
</li>
<li class="chapter " data-level="1.7.15" data-path="../general-development/context.html">
<a href="../general-development/context.html">
Using Context to pass control messages
</a>
</li>
<li class="chapter " data-level="1.7.16" data-path="../general-development/produceprocess.html">
<a href="../general-development/produceprocess.html">
Return value serialization extension
</a>
</li>
<li class="chapter " data-level="1.7.17" data-path="../general-development/CORS.html">
<a href="../general-development/CORS.html">
CORS mechanism
</a>
</li>
<li class="chapter " data-level="1.7.18" data-path="../general-development/AlarmEvent.html">
<a href="../general-development/AlarmEvent.html">
Get fuse and instance isolation alarm event information
</a>
</li>
<li class="chapter " data-level="1.7.19" data-path="../general-development/shutdown.html">
<a href="../general-development/shutdown.html">
Shutdown gracefully
</a>
</li>
<li class="chapter " data-level="1.7.20" data-path="../general-development/error-handling.html">
<a href="../general-development/error-handling.html">
Handling exceptions
</a>
</li>
<li class="chapter " data-level="1.7.21" data-path="../general-development/multienvironment.html">
<a href="../general-development/multienvironment.html">
Multi-environment isolation between microservice instances
</a>
</li>
<li class="chapter " data-level="1.7.22" data-path="../general-development/thread-model.html">
<a href="../general-development/thread-model.html">
Thread Model
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="1.8" data-path="../catalog/config.html">
<a href="../catalog/config.html">
Configuration
</a>
<ul class="articles">
<li class="chapter " data-level="1.8.1" data-path="../config/general-config.html">
<a href="../config/general-config.html">
General config
</a>
</li>
<li class="chapter " data-level="1.8.2" data-path="../config/inject-config.html">
<a href="../config/inject-config.html">
Configuration injection
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="1.9" data-path="../edge/open-service.html">
<a href="../edge/open-service.html">
Service Capability Open
</a>
<ul class="articles">
<li class="chapter " data-level="1.9.1" data-path="../edge/by-servicecomb-sdk.html">
<a href="../edge/by-servicecomb-sdk.html">
Using Edge Service
</a>
</li>
<li class="chapter " data-level="1.9.2" data-path="../edge/nginx.html">
<a href="../edge/nginx.html">
Using confd and Nginx as edge services
</a>
</li>
<li class="chapter " data-level="1.9.3" data-path="../edge/zuul.html">
<a href="../edge/zuul.html">
Use zuul as edge services
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="1.10" data-path="../catalog/service-package-run.html">
<a href="../catalog/service-package-run.html">
Service Packing and Running
</a>
<ul class="articles">
<li class="chapter " data-level="1.10.1" data-path="../packaging/standalone.html">
<a href="../packaging/standalone.html">
Standalone mode
</a>
</li>
<li class="chapter " data-level="1.10.2" data-path="../packaging/web-container.html">
<a href="../packaging/web-container.html">
WEB container mode
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="1.11" data-path="../catalog/security.html">
<a href="../catalog/security.html">
Micro Service Security
</a>
<ul class="articles">
<li class="chapter " data-level="1.11.1" data-path="../security/tls.html">
<a href="../security/tls.html">
Using TLS
</a>
</li>
<li class="chapter " data-level="1.11.2" data-path="../security/rsa.html">
<a href="../security/rsa.html">
Using RSA certification
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="1.12" data-path="../using-java-chassis-in-spring-boot.html">
<a href="../using-java-chassis-in-spring-boot.html">
Using java chassis in Spring Boot
</a>
<ul class="articles">
<li class="chapter " data-level="1.12.1" data-path="../using-java-chassis-in-spring-boot/components-for-spring-boot.html">
<a href="../using-java-chassis-in-spring-boot/components-for-spring-boot.html">
spring boot starter for java-chassis
</a>
</li>
<li class="chapter " data-level="1.12.2" data-path="../using-java-chassis-in-spring-boot/java-application.html">
<a href="../using-java-chassis-in-spring-boot/java-application.html">
JAVA application development
</a>
</li>
<li class="chapter " data-level="1.12.3" data-path="../using-java-chassis-in-spring-boot/web-application.html">
<a href="../using-java-chassis-in-spring-boot/web-application.html">
Web development method development
</a>
</li>
<li class="chapter " data-level="1.12.4" data-path="../using-java-chassis-in-spring-boot/diff-between-java-web.html">
<a href="../using-java-chassis-in-spring-boot/diff-between-java-web.html">
The difference between JAVA application method and Web development method
</a>
</li>
<li class="chapter " data-level="1.12.5" data-path="../using-java-chassis-in-spring-boot/diff-spring-mvc.html">
<a href="../using-java-chassis-in-spring-boot/diff-spring-mvc.html">
The difference in Spring MVC mode
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="1.13" data-path="../references-handlers/intruduction.html">
<a href="../references-handlers/intruduction.html">
Handlers reference
</a>
<ul class="articles">
<li class="chapter " data-level="1.13.1" data-path="../references-handlers/loadbalance.html">
<a href="../references-handlers/loadbalance.html">
Load Balancing
</a>
</li>
<li class="chapter " data-level="1.13.2" data-path="../references-handlers/publickey.html">
<a href="../references-handlers/publickey.html">
Public key authentication
</a>
</li>
</ul>
</li>
<li class="chapter " data-level="1.14" data-path="../question-and-answer/question_answer.html">
<a href="../question-and-answer/question_answer.html">
FAQ
</a>
<ul class="articles">
<li class="chapter " data-level="1.14.1" data-path="../question-and-answer/interface-compatibility.html">
<a href="../question-and-answer/interface-compatibility.html">
Micro Service Interface Compatibility FAQ
</a>
</li>
</ul>
</li>
<li class="divider"></li>
<li>
<a href="https://www.gitbook.com" target="blank" class="gitbook-link">
Published with GitBook
</a>
</li>
</ul>
</nav>
</div>
<div class="book-body">
<div class="body-inner">
<div class="book-header" role="navigation">
<!-- Title -->
<h1>
<i class="fa fa-circle-o-notch fa-spin"></i>
<a href=".." >HTTP2</a>
</h1>
</div>
<div class="page-wrapper" tabindex="-1" role="main">
<div class="page-inner">
<div id="book-search-results">
<div class="search-noresults">
<section class="normal markdown-section">
<h1 id="http2">Http2</h1>
<h2 id="scenario">Scenario</h2>
<p>Users can easily enable Http2 protocol for better performance through configuration.</p>
<h2 id="external-service-communication-configuration">External Service Communication Configuration</h2>
<p>The configuration for external service communication is in the microservice.yaml file.</p>
<ul>
<li><p>Enable h2(Http2 + TLS)</p>
<p> Append <code>sslEnabled=true</code> to the listening address to enable TLS communication on server side. For details, see the section <a href="../../security/tls.md">Using TLS Communication</a>. Then add <code>protocol=http2</code> to enable h2 communication. Here is the sample configuration:</p>
<pre><code class="lang-yaml"><span class="hljs-attr">servicecomb:</span>
<span class="hljs-attr"> rest:</span>
<span class="hljs-attr"> address:</span> <span class="hljs-number">0.0</span><span class="hljs-number">.0</span><span class="hljs-number">.0</span>:<span class="hljs-number">8080</span>?sslEnabled=<span class="hljs-literal">true</span>&amp;protocol=http2
</code></pre>
</li>
<li><p>Enable h2c(Http2 without TLS)</p>
<p> Simply add <code>protocol=http2</code> to enable h2c communication in the server&apos;s configuration:</p>
<pre><code class="lang-yaml"><span class="hljs-attr">servicecomb:</span>
<span class="hljs-attr"> rest:</span>
<span class="hljs-attr"> address:</span> <span class="hljs-number">0.0</span><span class="hljs-number">.0</span><span class="hljs-number">.0</span>:<span class="hljs-number">8080</span>?protocol=http2
</code></pre>
</li>
<li>The client will read the server&apos;s address configuration from service center, then communicate with the server by http2 protocol.</li>
</ul>
<p>Specific examples can refer to <a href="https://github.com/apache/servicecomb-java-chassis/blob/master/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/ConsumerMain.java" target="_blank">http2-it-tests</a></p>
<h2 id="http2-server-configuration">http2 server configuration</h2>
<table>
<thead>
<tr>
<th>configuration</th>
<th>default</th>
<th>description</th>
<th>notice</th>
</tr>
</thead>
<tbody>
<tr>
<td>servicecomb.rest.server.http2.useAlpnEnabled</td>
<td>true</td>
<td>Whether to enable ALPN</td>
<td></td>
</tr>
<tr>
<td>servicecomb.rest.server.http2.concurrentStreams</td>
<td>100</td>
<td>The maximum stream concurrency supported in a connection</td>
<td>The smaller value of the concurrentStreams on the server side and the multiplexingLimit on the client side</td>
</tr>
</tbody>
</table>
<h2 id="http2-client-configuration">http2 client configuration</h2>
<table>
<thead>
<tr>
<th>configuration</th>
<th>default</th>
<th>description</th>
<th>notice</th>
</tr>
</thead>
<tbody>
<tr>
<td>servicecomb.rest.client.http2.useAlpnEnabled</td>
<td>true</td>
<td>Whether to enable ALPN</td>
<td></td>
</tr>
<tr>
<td>servicecomb.rest.client.http2.multiplexingLimit</td>
<td>-1</td>
<td>The maximum stream concurrency supported in a connection,-1 means no limit</td>
<td>The smaller value of the concurrentStreams on the server side and the multiplexingLimit on the client side</td>
</tr>
<tr>
<td>servicecomb.rest.client.http2.maxPoolSize</td>
<td>1</td>
<td>The maximum number of connections established for each IP:Port in each connection pool</td>
<td></td>
</tr>
<tr>
<td>servicecomb.rest.client.http2.idleTimeoutInSeconds</td>
<td>0</td>
<td>The timeout period of the idle connection, the connection will be closed after the timeout</td>
</tr>
</tbody>
</table>
</section>
</div>
<div class="search-results">
<div class="has-results">
<h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
<ul class="search-results-list"></ul>
</div>
<div class="no-results">
<h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
</div>
</div>
</div>
</div>
</div>
</div>
<a href="highway-rpc.html" class="navigation navigation-prev " aria-label="Previous page: Highway">
<i class="fa fa-angle-left"></i>
</a>
<a href="../catalog/general-develop.html" class="navigation navigation-next " aria-label="Next page: General Development">
<i class="fa fa-angle-right"></i>
</a>
</div>
<script>
var gitbook = gitbook || [];
gitbook.push(function() {
gitbook.page.hasChanged({"page":{"title":"HTTP2","level":"1.6.4","depth":2,"next":{"title":"General Development","level":"1.7","depth":1,"path":"catalog/general-develop.md","ref":"catalog/general-develop.md","articles":[{"title":"Access Service Center","level":"1.7.1","depth":2,"path":"general-development/visit-sc.md","ref":"general-development/visit-sc.md","articles":[]},{"title":"Metrics","level":"1.7.2","depth":2,"path":"general-development/metrics.md","ref":"general-development/metrics.md","articles":[]},{"title":"Microservice invocation chain","level":"1.7.3","depth":2,"path":"general-development/microservice-invocation-chain.md","ref":"general-development/microservice-invocation-chain.md","articles":[]},{"title":"Customized-Tracing","level":"1.7.4","depth":2,"path":"general-development/customized-tracing.md","ref":"general-development/customized-tracing.md","articles":[]},{"title":"Local development and testing","level":"1.7.5","depth":2,"path":"general-development/local-develop-test.md","ref":"general-development/local-develop-test.md","articles":[]},{"title":"Http Filter","level":"1.7.6","depth":2,"path":"general-development/http-filter.md","ref":"general-development/http-filter.md","articles":[]},{"title":"File Uploading","level":"1.7.7","depth":2,"path":"general-development/file-upload.md","ref":"general-development/file-upload.md","articles":[]},{"title":"File Downloading","level":"1.7.8","depth":2,"path":"general-development/file-download.md","ref":"general-development/file-download.md","articles":[]},{"title":"Reactive Programing","level":"1.7.9","depth":2,"path":"general-development/reactive.md","ref":"general-development/reactive.md","articles":[]},{"title":"DNS Custom Configuration","level":"1.7.10","depth":2,"path":"general-development/dnsconfig.md","ref":"general-development/dnsconfig.md","articles":[]},{"title":"Proxy Settings","level":"1.7.11","depth":2,"path":"general-development/dai-li-she-zhi.md","ref":"general-development/dai-li-she-zhi.md","articles":[]},{"title":"Report framework version","level":"1.7.12","depth":2,"path":"general-development/report-framework-version.md","ref":"general-development/report-framework-version.md","articles":[]},{"title":"Cross-application invocation","level":"1.7.13","depth":2,"path":"general-development/cross-app-invocation.md","ref":"general-development/cross-app-invocation.md","articles":[]},{"title":"Customized serialization and deserialization","level":"1.7.14","depth":2,"path":"general-development/secret-field.md","ref":"general-development/secret-field.md","articles":[]},{"title":"Using Context to pass control messages","level":"1.7.15","depth":2,"path":"general-development/context.md","ref":"general-development/context.md","articles":[]},{"title":"Return value serialization extension","level":"1.7.16","depth":2,"path":"general-development/produceprocess.md","ref":"general-development/produceprocess.md","articles":[]},{"title":"CORS mechanism","level":"1.7.17","depth":2,"path":"general-development/CORS.md","ref":"general-development/CORS.md","articles":[]},{"title":"Get fuse and instance isolation alarm event information","level":"1.7.18","depth":2,"path":"general-development/AlarmEvent.md","ref":"general-development/AlarmEvent.md","articles":[]},{"title":"Shutdown gracefully","level":"1.7.19","depth":2,"path":"general-development/shutdown.md","ref":"general-development/shutdown.md","articles":[]},{"title":"Handling exceptions","level":"1.7.20","depth":2,"path":"general-development/error-handling.md","ref":"general-development/error-handling.md","articles":[]},{"title":"Multi-environment isolation between microservice instances","level":"1.7.21","depth":2,"path":"general-development/multienvironment.md","ref":"general-development/multienvironment.md","articles":[]},{"title":"Thread Model","level":"1.7.22","depth":2,"path":"general-development/thread-model.md","ref":"general-development/thread-model.md","articles":[]}]},"previous":{"title":"Highway","level":"1.6.3","depth":2,"path":"transports/highway-rpc.md","ref":"transports/highway-rpc.md","articles":[]},"dir":"ltr"},"config":{"plugins":[],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"theme":"default","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"introduction.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"language":"en_US","gitbook":"*"},"file":{"path":"transports/http2.md","mtime":"2020-02-10T07:31:45.852Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2020-02-10T07:32:25.443Z"},"basePath":"..","book":{"language":"en_US"}});
});
</script>
</div>
<script src="../../gitbook/gitbook.js"></script>
<script src="../../gitbook/theme.js"></script>
<script src="../../gitbook/gitbook-plugin-search/search-engine.js"></script>
<script src="../../gitbook/gitbook-plugin-search/search.js"></script>
<script src="../../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
<script src="../../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
<script src="../../gitbook/gitbook-plugin-sharing/buttons.js"></script>
<script src="../../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
</body>
</html>