| |
| <!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>&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'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'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> |
| |