This is an automated email from the ASF dual-hosted git repository. hyunkun pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/dubbo-website.git
The following commit(s) were added to refs/heads/master by this push: new 5bec06c remove md_json folder 5bec06c is described below commit 5bec06c29aa9ac79f4446fa7b9aafc008d20bf55 Author: Huang Yunkun <hty...@gmail.com> AuthorDate: Fri Jun 14 17:00:25 2019 +0800 remove md_json folder --- .gitignore | 1 + md_json/blog.json | 771 -------------------- md_json/docs.json | 2100 ----------------------------------------------------- 3 files changed, 1 insertion(+), 2871 deletions(-) diff --git a/.gitignore b/.gitignore index 94ae3ee..0ff7c69 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ en-us/ zh-cn/ build/ index.html +md_json/ diff --git a/md_json/blog.json b/md_json/blog.json deleted file mode 100644 index 6cfad96..0000000 --- a/md_json/blog.json +++ /dev/null @@ -1,771 +0,0 @@ -{ - "en-us": [ - { - "filename": "apachecon-na-2018.md", - "link": "/en-us/blog/apachecon-na-2018.html", - "meta": { - "title": "The ApacheCon NA schedule has been announced", - "keywords": "Dubbo, ApacheCon NA", - "description": "This article will introduce you that the ApacheCon NA schedule has been announced attention." - } - }, - { - "filename": "download.md", - "link": "/en-us/blog/download.html", - "meta": { - "title": "Downloads", - "keywords": "Dubbo, Downloads, Version", - "description": "This article will introduce you how to understand the details of each version and upgrade matters needing attention." - } - }, - { - "filename": "dubbo-101.md", - "link": "/en-us/blog/dubbo-101.html", - "meta": { - "title": "Your First Dubbo Demo", - "keywords": "Dubbo, RPC, RMI", - "description": "Modern distributed frameworks is similiar to RMI in terms of concepts. They both use Java interface as a service contract, archive service registry and discovery by a registry center, and Shield communication details by a proxy." - } - }, - { - "filename": "dubbo-annotation.md", - "link": "/en-us/blog/dubbo-annotation.html", - "meta": { - "title": "Use Annotations In Dubbo", - "keywords": "Dubbo, Annotation, Spring", - "description": "This article will introduce you how to use annotations instead of XML to develop Dubbo applications, such as `@EnableDubbo`, `@Service` and `@Reference`." - } - }, - { - "filename": "dubbo-basic-usage-dubbo-provider-configuration.md", - "link": "/en-us/blog/dubbo-basic-usage-dubbo-provider-configuration.html", - "meta": { - "title": "Dubbo Basic Usage -- Dubbo Provider Configuration", - "keywords": "Dubbo, Provider, Configuration", - "description": "This article will introduce you how to config Dubbo, by XML, property files, annotations or Java code." - } - }, - { - "filename": "dubbo-fescar.md", - "link": "/en-us/blog/dubbo-fescar.html", - "meta": { - "title": "How to use Fescar to ensure consistency between Dubbo Microservices", - "keywords": "Dubbo,Fescar,Consistency", - "description": "This article will introduce you how to use Fescar to ensure consistency between Dubbo Microservices." - } - }, - { - "filename": "dubbo-generic-invoke.md", - "link": "/en-us/blog/dubbo-generic-invoke.html", - "meta": { - "title": "Generic invoke of Dubbo", - "keywords": "Dubbo, Generic invoke", - "description": "This article introduces you when and how to use generic invoke of Dubbo." - } - }, - { - "filename": "dubbo-invoke.md", - "link": "/en-us/blog/dubbo-invoke.html", - "meta": { - "title": "Dubbo: Several ways about synchronous/asynchronous invoke", - "keywords": "Dubbo, Invoke, Async", - "description": "This article introduces you how to use Dubbo synchronously or asynchronously." - } - }, - { - "filename": "dubbo-k8s.md", - "link": "/en-us/blog/dubbo-k8s.html", - "meta": { - "title": "Integrate Dubbo with Kubernetes", - "keywords": "Dubbo, Kubernetes, K8S", - "description": "This article will try to register Dubbo service to Kubernetes and integrate with Kubernetes's multi-tenancy security system." - } - }, - { - "filename": "dubbo-loadbalance.md", - "link": "/en-us/blog/dubbo-loadbalance.html", - "meta": { - "title": "Dubbo's Load Balance", - "keywords": "Dubbo, LoadBalance", - "description": "This article introduces you what is load balance and how load balance strategy is implemented in Dubbo." - } - }, - { - "filename": "dubbo-meetup-beijing-may-12th-2018.md", - "link": "/en-us/blog/dubbo-meetup-beijing-may-12th-2018.html", - "meta": { - "title": "The first Dubbo meetup has been held in Beijing", - "keywords": "Dubbo, Beijing, meetup", - "description": "The first Dubbo meetup has been held in Beijing." - } - }, - { - "filename": "dubbo-meetup-chengdu.md", - "link": "/en-us/blog/dubbo-meetup-chengdu.html", - "meta": { - "title": "The fourth Dubbo meetup has been held in Chengdu", - "keywords": "Dubbo, Chengdu, meetup", - "description": "The fourth Dubbo meetup has been held in Chengdu." - } - }, - { - "filename": "dubbo-meetup-hangzhou.md", - "link": "/en-us/blog/dubbo-meetup-hangzhou.html", - "meta": { - "title": "The fifth Dubbo meetup has been held in Hangzhou", - "keywords": "Dubbo, Hangzhou, meetup", - "description": "The fifth Dubbo meetup has been held in Hangzhou" - } - }, - { - "filename": "dubbo-meetup-shanghai-jun-23rd-2018.md", - "link": "/en-us/blog/dubbo-meetup-shanghai-jun-23rd-2018.html", - "meta": { - "title": "The second Dubbo Shanghai meetup has been held successfully", - "keywords": "Dubbo, Shanghai, meetup", - "description": "The second Dubbo Shanghai meetup has been held successfully." - } - }, - { - "filename": "dubbo-meetup-shenzhen.md", - "link": "/en-us/blog/dubbo-meetup-shenzhen.html", - "meta": { - "title": "The third Dubbo meetup has been held in Shenzhen", - "keywords": "Dubbo, Shenzhen, meetup", - "description": "The third Dubbo meetup has been held in Shenzhen" - } - }, - { - "filename": "dubbo-new-async.md", - "link": "/en-us/blog/dubbo-new-async.html", - "meta": { - "title": "How to implement a fully asynchronous calls chain based on Dubbo", - "keywords": "Dubbo, asynchronous, async chain", - "description": "This article recalls how asynchronous call is implemented in Dubbo 2.6.x, and introduces the new way based on CompletableFuture in 2.7.0." - } - }, - { - "filename": "dubbo-zk.md", - "link": "/en-us/blog/dubbo-zk.html", - "meta": { - "title": "Using Zookeeper in Dubbo", - "keywords": "Dubbo, registry center, Zookeeper, ZK", - "description": "This article introduces basic concepts of Zookeeper, and how to use Zookeeper as a registry center." - } - }, - { - "filename": "dubbo2-js.md", - "link": "/en-us/blog/dubbo2-js.html", - "meta": { - "title": "Implementation of cross-language calls by Dubbo2.js", - "keywords": "Dubbo, Cross-language, Node, NodeJS, js", - "description": "This article introduces how to use Dubbo.js to implement cross-language calls." - } - }, - { - "filename": "gsoc-2018.md", - "link": "/en-us/blog/gsoc-2018.html", - "meta": { - "title": "GSoC 2018", - "keywords": "Dubbo, GSoC", - "description": "The GSoC(Google Summer of Code) 2018 projects has been announced" - } - }, - { - "filename": "introduction-to-dubbo-qos.md", - "link": "/en-us/blog/introduction-to-dubbo-qos.html", - "meta": { - "title": "Manipulating Services Dynamically via QoS", - "keywords": "Dubbo, qos", - "description": "This article introduces how to use Dubbo's QoS to achieve dynamic configuration." - } - }, - { - "filename": "introduction-to-dubbo-spi-2.md", - "link": "/en-us/blog/introduction-to-dubbo-spi-2.html", - "meta": { - "title": "Dubbo extensible mechanism source code analysis", - "keywords": "Dubbo, SPI, source code analysis", - "description": "This article introduces the principles and details of Dubbo's SPI." - } - }, - { - "filename": "introduction-to-dubbo-spi.md", - "link": "/en-us/blog/introduction-to-dubbo-spi.html", - "meta": { - "title": "Dubbo Extension Mechanism in Action", - "keywords": "Dubbo, SPI", - "description": "This article introduces Dubbo's SPI mechanism." - } - }, - { - "filename": "pinpoint.md", - "link": "/en-us/blog/pinpoint.html", - "meta": { - "title": "Tracking with Pinpoint", - "keywords": "Dubbo, Pinpoint, tracing", - "description": "This article introduces how to use Pinpoint to track Dubbo applications and monitor applications' performance." - } - }, - { - "filename": "prepare-an-apache-release.md", - "link": "/en-us/blog/prepare-an-apache-release.html", - "meta": { - "title": "Understanding the Apache Release Cycle", - "keywords": "Dubbo, Apache, Release", - "description": "This article introduces how to the Apache publish content and process" - } - }, - { - "filename": "qcon-beijing-2018.md", - "link": "/en-us/blog/qcon-beijing-2018.html", - "meta": { - "title": "Dubbo roadmap is announced in QCon Beijing 2018", - "keywords": "Dubbo, roadmap, QCon Beijing", - "description": "This article will introduce you that Dubbo roadmap is announced in QCon Beijing 2018." - } - }, - { - "filename": "sentinel-introduction-for-dubbo.md", - "link": "/en-us/blog/sentinel-introduction-for-dubbo.html", - "meta": { - "title": "Sentinel: The flow sentinel of Dubbo services", - "keywords": "Dubbo, Sentinel, current limit, fuse", - "description": "This article introduces the Sentinel and how to integrate it with Dubbo." - } - }, - { - "filename": "spring-boot-dubbo-start-stop-analysis.md", - "link": "/en-us/blog/spring-boot-dubbo-start-stop-analysis.html", - "meta": { - "title": "Source code analysis of spring-boot+Dubbo App start and stop", - "keywords": "Dubbo, Spring Boot, source code analysis", - "description": "This article introduces the implementation details of app start and stop in `dubbo-spring-boot-project`." - } - }, - { - "filename": "tracing-with-skywalking.md", - "link": "/en-us/blog/tracing-with-skywalking.html", - "meta": { - "title": "Tracing Dubbo service with Apache Skywalking(incubator)", - "keywords": "Dubbo, Skywalking, tracing, distribute tracking", - "description": "This article introduces how to use Apache Skywalking to track Dubbo applications." - } - } - ], - "zh-cn": [ - { - "filename": "apachecon-na-2018.md", - "link": "/zh-cn/blog/apachecon-na-2018.html", - "meta": { - "title": "ApacheCon大会议程公布", - "keywords": "Dubbo, ApacheCon NA", - "description": "本文将向你介绍在ApacheCon大会议程公布上相关Dubbo议题演讲。" - } - }, - { - "filename": "build-new-docker-image-in-dockerhub.md", - "link": "/zh-cn/blog/build-new-docker-image-in-dockerhub.html", - "meta": { - "title": "在DockerHub发布Dubbo Admin镜像", - "keywords": "Dubbo Admin,Docker,Dockerhub", - "description": "本文将介绍如何在Dockerhub上发布Dubbo Admin镜像。" - } - }, - { - "filename": "download.md", - "link": "/zh-cn/blog/download.html", - "meta": { - "title": "下载中心", - "keywords": "Dubbo, Downloads, Version", - "description": "本文将向你介绍如何点击了解各版本详情和升级注意事项。" - } - }, - { - "filename": "dubbo-101.md", - "link": "/zh-cn/blog/dubbo-101.html", - "meta": { - "title": "第一个 Dubbo 应用", - "keywords": "Dubbo, RPC, RMI", - "description": "现代的分布式服务框架的基本概念与 RMI 是类似的,同样是使用 Java 的 Interface 作为服务契约,通过注册中心来完成服务的注册和发现,远程通讯的细节也是通过代理类来屏蔽。" - } - }, - { - "filename": "dubbo-27-features.md", - "link": "/zh-cn/blog/dubbo-27-features.html", - "meta": { - "title": "Dubbo2.7 三大新特性详解", - "keywords": "Dubbo2.7", - "description": "异步化改造,三大中心改造,服务治理增强" - } - }, - { - "filename": "dubbo-admin.md", - "link": "/zh-cn/blog/dubbo-admin.html", - "meta": {} - }, - { - "filename": "dubbo-annotation-driven.md", - "link": "/zh-cn/blog/dubbo-annotation-driven.html", - "meta": {} - }, - { - "filename": "dubbo-annotation.md", - "link": "/zh-cn/blog/dubbo-annotation.html", - "meta": { - "title": "在 Dubbo 中使用注解", - "keywords": "Dubbo, Annotation, Spring", - "description": "介绍了如何使用注解方式而非 XML 方式来开发 Dubbo 应用,可以学习到如何使用 @EnableDubbo、@Service、@Reference 的用法。" - } - }, - { - "filename": "dubbo-basic-usage-dubbo-consumer-configuration.md", - "link": "/zh-cn/blog/dubbo-basic-usage-dubbo-consumer-configuration.html", - "meta": {} - }, - { - "filename": "dubbo-basic-usage-dubbo-provider-configuration.md", - "link": "/zh-cn/blog/dubbo-basic-usage-dubbo-provider-configuration.html", - "meta": { - "title": "Dubbo基础用法之Provider配置", - "keywords": "Dubbo, Provider, Configuration", - "description": "主要讲述如何配置dubbo,按照配置方式上可以分为:XML配置,properties方式配置,注解方式配置,API调用方式配置。" - } - }, - { - "filename": "dubbo-cluster-error-handling.md", - "link": "/zh-cn/blog/dubbo-cluster-error-handling.html", - "meta": { - "title": "Dubbo集群容错", - "keywords": "Dubbo, RPC, cluster, Error-handling", - "description": "在分布式系统中,集群某个某些节点出现问题是大概率事件,因此在设计分布式RPC框架的过程中,必须要把失败作为设计的一等公民来对待。一次调用失败之后,应该如何选择对失败的选择策略,这是一个见仁见智的问题,每种策略可能都有自己独特的应用场景。因此,作为框架来说,应当针对不同场景提供多种策略,供用户进行选择。本文介绍了Dubbo框架提供的多种错误处理策略,并通过实例说明如何进行配置。" - } - }, - { - "filename": "dubbo-compatible.md", - "link": "/zh-cn/blog/dubbo-compatible.html", - "meta": { - "title": "Dubbo 2.7.x repackage后的兼容实现方案", - "keywords": "Dubbo, repackage, 兼容", - "description": "本文简单描述了2.7.x repackage后对老版本的兼容性实现方案。" - } - }, - { - "filename": "dubbo-context-information.md", - "link": "/zh-cn/blog/dubbo-context-information.html", - "meta": { - "title": "Dubbo 上下文信息", - "keywords": "Dubbo,RPC Context, Attachment", - "description": "介绍Dubbo上下文信息的作用、应用场景、使用方式以及注意事项" - } - }, - { - "filename": "dubbo-contribute-to-opensource.md", - "link": "/zh-cn/blog/dubbo-contribute-to-opensource.html", - "meta": { - "title": "以Dubbo为例,聊聊如何向开源项目做贡献", - "keywords": "Dubbo, opensource", - "description": "本文将会以 dubbo 项目为例向你阐释,给开源项目做贡献并不是一件难事" - } - }, - { - "filename": "dubbo-copywriting-style.md", - "link": "/zh-cn/blog/dubbo-copywriting-style.html", - "meta": { - "title": "Dubbo 博客文档中文排版指南", - "keywords": "Dubbo, Copywriting", - "description": "统一中文文案、排版的相关用法,降低团队成员之间的沟通成本,增强网站气质。" - } - }, - { - "filename": "dubbo-echo-test.md", - "link": "/zh-cn/blog/dubbo-echo-test.html", - "meta": {} - }, - { - "filename": "dubbo-externalized-configuration.md", - "link": "/zh-cn/blog/dubbo-externalized-configuration.html", - "meta": {} - }, - { - "filename": "dubbo-fescar.md", - "link": "/zh-cn/blog/dubbo-fescar.html", - "meta": { - "title": "如何使用Fescar保证Dubbo微服务间的一致性", - "keywords": "Dubbo,Fescar,一致性", - "description": "本文主要介绍如何使用Fescar保证Dubbo微服务间的一致性" - } - }, - { - "filename": "dubbo-generic-invoke.md", - "link": "/zh-cn/blog/dubbo-generic-invoke.html", - "meta": { - "title": "Dubbo的泛化调用", - "keywords": "Dubbo, Generic invoke", - "description": "本文介绍了 Dubbo 泛化调用的使用场景及相关示例" - } - }, - { - "filename": "dubbo-gracefully-shutdown.md", - "link": "/zh-cn/blog/dubbo-gracefully-shutdown.html", - "meta": { - "title": "Dubbo 优雅停机", - "keywords": "Dubbo, Gracefully Shutdown, Safely Shutdown", - "description": "介绍Dubbo优雅停机的原理和使用方式" - } - }, - { - "filename": "dubbo-heartbeat-design.md", - "link": "/zh-cn/blog/dubbo-heartbeat-design.html", - "meta": { - "title": "Dubbo 现有心跳方案总结以及改进建议", - "keywords": "Dubbo, 心跳", - "description": "一种心跳,两种设计" - } - }, - { - "filename": "dubbo-integrate-with-hystrix.md", - "link": "/zh-cn/blog/dubbo-integrate-with-hystrix.html", - "meta": { - "title": "Spring应用快速集成Dubbo + Hystrix", - "keywords": "Dubbo, Spring, Hystrix", - "description": "本文介绍在spring应用里,怎么把Dubbo和Hystrix结合起来使用。" - } - }, - { - "filename": "dubbo-invoke.md", - "link": "/zh-cn/blog/dubbo-invoke.html", - "meta": { - "title": "Dubbo 关于同步/异步调用的几种方式", - "keywords": "Dubbo, Invoke, Async", - "description": "本文介绍了Dubbo基于异步通讯机制实现的几种同步和异步调用方式。" - } - }, - { - "filename": "dubbo-k8s.md", - "link": "/zh-cn/blog/dubbo-k8s.html", - "meta": { - "title": "Dubbo与Kubernetes集成", - "keywords": "Dubbo, Kubernetes, K8S", - "description": "本文主要尝试将Dubbo服务注册到Kubernetes,同时无缝融入Kubernetes的多租户安全体系。" - } - }, - { - "filename": "dubbo-loadbalance.md", - "link": "/zh-cn/blog/dubbo-loadbalance.html", - "meta": { - "title": "Dubbo的负载均衡", - "keywords": "Dubbo, LoadBalance", - "description": "本文介绍了负载均衡的相关概念以及 Dubbo 中的负载均衡策略实现。" - } - }, - { - "filename": "dubbo-local-call.md", - "link": "/zh-cn/blog/dubbo-local-call.html", - "meta": {} - }, - { - "filename": "dubbo-meet-arthas.md", - "link": "/zh-cn/blog/dubbo-meet-arthas.html", - "meta": { - "title": "当Dubbo遇上Arthas:排查问题的实践", - "keywords": "Dubbo, Arthas", - "description": "使用Alibaba开源的应用诊断利器Arthas来排查Dubbo应用的问题。" - } - }, - { - "filename": "dubbo-meetup-beijing-may-12th-2018.md", - "link": "/zh-cn/blog/dubbo-meetup-beijing-may-12th-2018.html", - "meta": { - "title": "首届Dubbo开发者沙龙在北京成功举办", - "keywords": "Dubbo, Beijing, meetup", - "description": "首届Dubbo开发者沙龙在北京成功举办" - } - }, - { - "filename": "dubbo-meetup-chengdu.md", - "link": "/zh-cn/blog/dubbo-meetup-chengdu.html", - "meta": { - "title": "第四届Dubbo开发者沙龙于8月26日在成都举行", - "keywords": "Dubbo, 成都, meetup", - "description": "第四届Dubbo开发者沙龙于8月26日在成都举行。" - } - }, - { - "filename": "dubbo-meetup-hangzhou.md", - "link": "/zh-cn/blog/dubbo-meetup-hangzhou.html", - "meta": { - "title": "第五届Dubbo开发者沙龙在杭州成功举办", - "keywords": "Dubbo, 杭州, meetup", - "description": "第五届Dubbo开发者沙龙在杭州成功举办。" - } - }, - { - "filename": "dubbo-meetup-shanghai-jun-23rd-2018.md", - "link": "/zh-cn/blog/dubbo-meetup-shanghai-jun-23rd-2018.html", - "meta": { - "title": "第二届Dubbo开发者沙龙在上海成功举办", - "keywords": "Dubbo, 上海, meetup", - "description": "第二届Dubbo开发者沙龙在上海成功举办。" - } - }, - { - "filename": "dubbo-meetup-shenzhen.md", - "link": "/zh-cn/blog/dubbo-meetup-shenzhen.html", - "meta": { - "title": "第三届Dubbo开发者沙龙在深圳成功举办", - "keywords": "Dubbo, 深圳, meetup", - "description": "第三届Dubbo开发者沙龙在深圳成功举办。" - } - }, - { - "filename": "dubbo-mesh-in-thinking.md", - "link": "/zh-cn/blog/dubbo-mesh-in-thinking.html", - "meta": { - "title": "Dubbo在Service Mesh下的思考和方案", - "keywords": "Dubbo, Service Mesh, Cloud Native", - "description": "Dubbo是实现框架,融入servcemesh理念就是我们今天分享的。" - } - }, - { - "filename": "dubbo-mesh-service-mesh-exploring.md", - "link": "/zh-cn/blog/dubbo-mesh-service-mesh-exploring.html", - "meta": { - "title": "Dubbo Mesh | Service Mesh的实践与探索", - "keywords": "Dubbo, Service Mesh", - "description": "本文介绍了Dubbo在Service Mesh方向的实践与探索" - } - }, - { - "filename": "dubbo-network-interfaces.md", - "link": "/zh-cn/blog/dubbo-network-interfaces.html", - "meta": { - "title": "研究 Dubbo 网卡地址注册时的一点思考", - "keywords": "网卡地址注册", - "description": "研究 Dubbo 网卡地址注册时的一点思考" - } - }, - { - "filename": "dubbo-new-async.md", - "link": "/zh-cn/blog/dubbo-new-async.html", - "meta": { - "title": "如何基于Dubbo实现全异步调用链", - "keywords": "Dubbo, 异步, async chain", - "description": "本文回顾了 2.6.x 版本的异步实现,然后引出了 2.7.0 版本基于 CompletableFuture 的异步编程方式。" - } - }, - { - "filename": "dubbo-protocol.md", - "link": "/zh-cn/blog/dubbo-protocol.html", - "meta": { - "title": "DUBBO协议详解", - "keywords": "Dubbo, Protocol, RPC", - "description": "本文介绍了dubbo协议的设计" - } - }, - { - "filename": "dubbo-registry-nacos-integration.md", - "link": "/zh-cn/blog/dubbo-registry-nacos-integration.html", - "meta": {} - }, - { - "filename": "dubbo-rest.md", - "link": "/zh-cn/blog/dubbo-rest.html", - "meta": {} - }, - { - "filename": "dubbo-stub-mock.md", - "link": "/zh-cn/blog/dubbo-stub-mock.html", - "meta": {} - }, - { - "filename": "dubbo-zk.md", - "link": "/zh-cn/blog/dubbo-zk.html", - "meta": { - "title": "在 Dubbo 应用中使用 Zookeeper", - "keywords": "Dubbo, 注册中心, Zookeeper, ZK", - "description": "本文介绍了 Zookeeper 的基本概念、用法,以及如何在 Dubbo 应用中使用 Zookeeper 作为注册中心。" - } - }, - { - "filename": "dubbo2-js.md", - "link": "/zh-cn/blog/dubbo2-js.html", - "meta": { - "title": "从跨语言调用到dubbo2.js", - "keywords": "Dubbo, 跨语言, Node, NodeJS, js", - "description": "本文介绍了如何使用 dubbo2.js 进行跨语言的 dubbo 调用。" - } - }, - { - "filename": "dubboAsync_client.md", - "link": "/zh-cn/blog/dubboAsync_client.html", - "meta": { - "title": "Dubbo客户端异步接口的实现背景和实践", - "keywords": "Dubbo, 异步, Reactive", - "description": "Dubbo客户端异步接口的实现背景和实践" - } - }, - { - "filename": "dubboAsync_server.md", - "link": "/zh-cn/blog/dubboAsync_server.html", - "meta": { - "title": "Dubbo客户端异步接口的实现背景和实践", - "keywords": "Dubbo, 异步, Reactive", - "description": "Dubbo服务端异步接口的实现背景和实践" - } - }, - { - "filename": "first-dubbo-filter.md", - "link": "/zh-cn/blog/first-dubbo-filter.html", - "meta": {} - }, - { - "filename": "gsoc-2018.md", - "link": "/zh-cn/blog/gsoc-2018.html", - "meta": { - "title": "谷歌编程之夏会议上2018个项目被宣布", - "keywords": "Dubbo, GSoC", - "description": "谷歌编程之夏会议上2018个项目被宣布,Dubbo位列其中。" - } - }, - { - "filename": "how-to-involve-dubbo-community.md", - "link": "/zh-cn/blog/how-to-involve-dubbo-community.html", - "meta": { - "title": "如何参与贡献Dubbo社区", - "keywords": "Dubbo, Apache Way", - "description": "本文介绍了如何以Apache Way的方式参与Dubbo社区并做贡献" - } - }, - { - "filename": "introduction-to-dubbo-qos.md", - "link": "/zh-cn/blog/introduction-to-dubbo-qos.html", - "meta": { - "title": "通过QoS对服务进行动态控制", - "keywords": "Dubbo, qos", - "description": "本文介绍了如何使用Dubbo的QoS功能对服务进行动态配置,以及相关的参数及配置方式。" - } - }, - { - "filename": "introduction-to-dubbo-spi-2.md", - "link": "/zh-cn/blog/introduction-to-dubbo-spi-2.html", - "meta": { - "title": "Dubbo可扩展机制源码解析", - "keywords": "Dubbo, SPI, 源码分析", - "description": "本文介绍了SPI扩展机制的实现原理与细节。" - } - }, - { - "filename": "introduction-to-dubbo-spi.md", - "link": "/zh-cn/blog/introduction-to-dubbo-spi.html", - "meta": { - "title": "Dubbo可扩展机制实战", - "keywords": "Dubbo, SPI", - "description": "本文介绍了Dubbo框架的核心,SPI扩展机制。" - } - }, - { - "filename": "introduction-to-dubbo-url.md", - "link": "/zh-cn/blog/introduction-to-dubbo-url.html", - "meta": { - "title": "Dubbo 中的 URL 统一模型", - "keywords": "Dubbo, URL", - "description": "URL 是 Dubbo 种一个重要的领域模型,了解它可以更加轻松的理解 Dubbo 的设计理念。" - } - }, - { - "filename": "meet-dubbo.md", - "link": "/zh-cn/blog/meet-dubbo.html", - "meta": { - "title": "遇见Dubbo", - "keywords": "Dubbo, Committer", - "description": "本文记录了一个小白成长为Dubbo committer的过程。" - } - }, - { - "filename": "optimization-branch-prediction.md", - "link": "/zh-cn/blog/optimization-branch-prediction.html", - "meta": { - "title": "提前if判断帮助CPU分支预测" - } - }, - { - "filename": "pinpoint.md", - "link": "/zh-cn/blog/pinpoint.html", - "meta": { - "title": "使用Pinpoint做分布式跟踪", - "keywords": "Dubbo, Pinpoint, tracing", - "description": "本文介绍了利用Pinpoint对Dubbo分布式应用进行调用链跟踪与性能监控。" - } - }, - { - "filename": "prepare-an-apache-release.md", - "link": "/zh-cn/blog/prepare-an-apache-release.html", - "meta": { - "title": "如何准备Apache Release", - "keywords": "Dubbo, Apache, Release", - "description": "本文介绍了Apache如何发布内容和流程" - } - }, - { - "filename": "qcon-beijing-2018.md", - "link": "/zh-cn/blog/qcon-beijing-2018.html", - "meta": { - "title": "Dubbo路线图在QCon Beijing 2018上公布", - "keywords": "Dubbo, roadmap, QCon Beijing", - "description": "本文将向你介绍在QCon Beijing 2018上公布Dubbo路线图。" - } - }, - { - "filename": "sentinel-introduction-for-dubbo.md", - "link": "/zh-cn/blog/sentinel-introduction-for-dubbo.html", - "meta": { - "title": "Sentinel 为 Dubbo 服务保驾护航", - "keywords": "Dubbo, Sentinel, 限流, 熔断", - "description": "本文主要介绍了面向分布式服务架构的轻量级流量控制组件 Sentinel 以及在 Dubbo 中整合使用 Sentinel 的最佳实践。" - } - }, - { - "filename": "service-and-version.md", - "link": "/zh-cn/blog/service-and-version.html", - "meta": {} - }, - { - "filename": "service-test.md", - "link": "/zh-cn/blog/service-test.html", - "meta": {} - }, - { - "filename": "spring-boot-dubbo-start-stop-analysis.md", - "link": "/zh-cn/blog/spring-boot-dubbo-start-stop-analysis.html", - "meta": { - "title": "Spring Boot Dubbo应用启停源码分析", - "keywords": "Dubbo, Spring Boot, 源码分析", - "description": "本文分析 `dubbo-spring-boot-project` 中 Dubbo 启停源码的实现原理。" - } - }, - { - "filename": "test-verification.md", - "link": "/zh-cn/blog/test-verification.html", - "meta": {} - }, - { - "filename": "tracing-with-skywalking.md", - "link": "/zh-cn/blog/tracing-with-skywalking.html", - "meta": { - "title": "使用Apache Skywalking (Incubator) 做分布式跟踪", - "keywords": "Dubbo, Skywalking, tracing, 分布式跟踪", - "description": "本文介绍如何使用 Apache Skywalking 对 Dubbo 应用做分布式链路追踪。" - } - }, - { - "filename": "use-zipkin-in-dubbo.md", - "link": "/zh-cn/blog/use-zipkin-in-dubbo.html", - "meta": { - "title": "在 Dubbo 中使用 Zipkin", - "keywords": "zipkin,dubbo,trace,span,dapper", - "description": "如何在 Dubbo 中使用 Zipkin 进行全链路追踪" - } - } - ] -} \ No newline at end of file diff --git a/md_json/docs.json b/md_json/docs.json deleted file mode 100644 index bc30b12..0000000 --- a/md_json/docs.json +++ /dev/null @@ -1,2100 +0,0 @@ -{ - "en-us": [ - { - "filename": "README.md", - "link": "/en-us/docs/admin/README.html", - "meta": {} - }, - { - "filename": "SUMMARY.md", - "link": "/en-us/docs/admin/SUMMARY.html", - "meta": {} - }, - { - "filename": "admin-console.md", - "link": "/en-us/docs/admin/install/admin-console.html", - "meta": {} - }, - { - "filename": "consumer-demo.md", - "link": "/en-us/docs/admin/install/consumer-demo.html", - "meta": {} - }, - { - "filename": "introduction.md", - "link": "/en-us/docs/admin/install/introduction.html", - "meta": {} - }, - { - "filename": "provider-demo.md", - "link": "/en-us/docs/admin/install/provider-demo.html", - "meta": {} - }, - { - "filename": "redis.md", - "link": "/en-us/docs/admin/install/redis.html", - "meta": {} - }, - { - "filename": "simple-monitor-center.md", - "link": "/en-us/docs/admin/install/simple-monitor-center.html", - "meta": {} - }, - { - "filename": "simple-registry-center.md", - "link": "/en-us/docs/admin/install/simple-registry-center.html", - "meta": {} - }, - { - "filename": "zookeeper.md", - "link": "/en-us/docs/admin/install/zookeeper.html", - "meta": {} - }, - { - "filename": "introduction.md", - "link": "/en-us/docs/admin/introduction.html", - "meta": {} - }, - { - "filename": "dubbo-ops.md", - "link": "/en-us/docs/admin/ops/dubbo-ops.html", - "meta": {} - }, - { - "filename": "introduction.md", - "link": "/en-us/docs/admin/ops/introduction.html", - "meta": {} - }, - { - "filename": "pinpoint.md", - "link": "/en-us/docs/admin/ops/pinpoint.html", - "meta": {} - }, - { - "filename": "skywalking.md", - "link": "/en-us/docs/admin/ops/skywalking.html", - "meta": {} - }, - { - "filename": "serviceGovernance.md", - "link": "/en-us/docs/admin/serviceGovernance.html", - "meta": {} - }, - { - "filename": "serviceSearch.md", - "link": "/en-us/docs/admin/serviceSearch.html", - "meta": {} - }, - { - "filename": "serviceTest.md", - "link": "/en-us/docs/admin/serviceTest.html", - "meta": {} - }, - { - "filename": "README.md", - "link": "/en-us/docs/dev/README.html", - "meta": {} - }, - { - "filename": "SPI.md", - "link": "/en-us/docs/dev/SPI.html", - "meta": {} - }, - { - "filename": "SUMMARY.md", - "link": "/en-us/docs/dev/SUMMARY.html", - "meta": {} - }, - { - "filename": "TCK.md", - "link": "/en-us/docs/dev/TCK.html", - "meta": {} - }, - { - "filename": "build.md", - "link": "/en-us/docs/dev/build.html", - "meta": {} - }, - { - "filename": "checklist.md", - "link": "/en-us/docs/dev/checklist.html", - "meta": {} - }, - { - "filename": "code-smell.md", - "link": "/en-us/docs/dev/code-smell.html", - "meta": {} - }, - { - "filename": "coding.md", - "link": "/en-us/docs/dev/coding.html", - "meta": {} - }, - { - "filename": "contract.md", - "link": "/en-us/docs/dev/contract.html", - "meta": {} - }, - { - "filename": "contribution.md", - "link": "/en-us/docs/dev/contribution.html", - "meta": {} - }, - { - "filename": "design.md", - "link": "/en-us/docs/dev/design.html", - "meta": {} - }, - { - "filename": "implementation.md", - "link": "/en-us/docs/dev/implementation.html", - "meta": {} - }, - { - "filename": "cache.md", - "link": "/en-us/docs/dev/impls/cache.html", - "meta": {} - }, - { - "filename": "cluster.md", - "link": "/en-us/docs/dev/impls/cluster.html", - "meta": {} - }, - { - "filename": "compiler.md", - "link": "/en-us/docs/dev/impls/compiler.html", - "meta": {} - }, - { - "filename": "container.md", - "link": "/en-us/docs/dev/impls/container.html", - "meta": {} - }, - { - "filename": "dispatcher.md", - "link": "/en-us/docs/dev/impls/dispatcher.html", - "meta": {} - }, - { - "filename": "exchanger.md", - "link": "/en-us/docs/dev/impls/exchanger.html", - "meta": {} - }, - { - "filename": "exporter-listener.md", - "link": "/en-us/docs/dev/impls/exporter-listener.html", - "meta": {} - }, - { - "filename": "extension-factory.md", - "link": "/en-us/docs/dev/impls/extension-factory.html", - "meta": {} - }, - { - "filename": "filter.md", - "link": "/en-us/docs/dev/impls/filter.html", - "meta": {} - }, - { - "filename": "introduction.md", - "link": "/en-us/docs/dev/impls/introduction.html", - "meta": {} - }, - { - "filename": "invoker-listener.md", - "link": "/en-us/docs/dev/impls/invoker-listener.html", - "meta": {} - }, - { - "filename": "load-balance.md", - "link": "/en-us/docs/dev/impls/load-balance.html", - "meta": {} - }, - { - "filename": "logger-adapter.md", - "link": "/en-us/docs/dev/impls/logger-adapter.html", - "meta": {} - }, - { - "filename": "merger.md", - "link": "/en-us/docs/dev/impls/merger.html", - "meta": {} - }, - { - "filename": "monitor.md", - "link": "/en-us/docs/dev/impls/monitor.html", - "meta": {} - }, - { - "filename": "networker.md", - "link": "/en-us/docs/dev/impls/networker.html", - "meta": {} - }, - { - "filename": "page.md", - "link": "/en-us/docs/dev/impls/page.html", - "meta": {} - }, - { - "filename": "protocol.md", - "link": "/en-us/docs/dev/impls/protocol.html", - "meta": {} - }, - { - "filename": "proxy-factory.md", - "link": "/en-us/docs/dev/impls/proxy-factory.html", - "meta": {} - }, - { - "filename": "registry.md", - "link": "/en-us/docs/dev/impls/registry.html", - "meta": {} - }, - { - "filename": "remoting.md", - "link": "/en-us/docs/dev/impls/remoting.html", - "meta": {} - }, - { - "filename": "router.md", - "link": "/en-us/docs/dev/impls/router.html", - "meta": {} - }, - { - "filename": "serialize.md", - "link": "/en-us/docs/dev/impls/serialize.html", - "meta": {} - }, - { - "filename": "status-checker.md", - "link": "/en-us/docs/dev/impls/status-checker.html", - "meta": {} - }, - { - "filename": "telnet-handler.md", - "link": "/en-us/docs/dev/impls/telnet-handler.html", - "meta": {} - }, - { - "filename": "threadpool.md", - "link": "/en-us/docs/dev/impls/threadpool.html", - "meta": {} - }, - { - "filename": "validation.md", - "link": "/en-us/docs/dev/impls/validation.html", - "meta": {} - }, - { - "filename": "introduction.md", - "link": "/en-us/docs/dev/introduction.html", - "meta": {} - }, - { - "filename": "code-detail.md", - "link": "/en-us/docs/dev/principals/code-detail.html", - "meta": {} - }, - { - "filename": "configuration.md", - "link": "/en-us/docs/dev/principals/configuration.html", - "meta": {} - }, - { - "filename": "dummy.md", - "link": "/en-us/docs/dev/principals/dummy.html", - "meta": {} - }, - { - "filename": "expansibility.md", - "link": "/en-us/docs/dev/principals/expansibility.html", - "meta": {} - }, - { - "filename": "extension.md", - "link": "/en-us/docs/dev/principals/extension.html", - "meta": {} - }, - { - "filename": "general-knowledge.md", - "link": "/en-us/docs/dev/principals/general-knowledge.html", - "meta": {} - }, - { - "filename": "introduction.md", - "link": "/en-us/docs/dev/principals/introduction.html", - "meta": {} - }, - { - "filename": "robustness.md", - "link": "/en-us/docs/dev/principals/robustness.html", - "meta": {} - }, - { - "filename": "release.md", - "link": "/en-us/docs/dev/release.html", - "meta": {} - }, - { - "filename": "apache-dubbo-page_dev.md", - "link": "/en-us/docs/developers/committer-guide/apache-dubbo-page_dev.html", - "meta": {} - }, - { - "filename": "label-an-issue-guide_dev.md", - "link": "/en-us/docs/developers/committer-guide/label-an-issue-guide_dev.html", - "meta": {} - }, - { - "filename": "new-committer-guide_dev.md", - "link": "/en-us/docs/developers/committer-guide/new-committer-guide_dev.html", - "meta": {} - }, - { - "filename": "release-guide_dev.md", - "link": "/en-us/docs/developers/committer-guide/release-guide_dev.html", - "meta": { - "title": "Understanding the Apache Release Cycle", - "keywords": "Dubbo, Apache, Release" - } - }, - { - "filename": "website-guide_dev.md", - "link": "/en-us/docs/developers/committer-guide/website-guide_dev.html", - "meta": {} - }, - { - "filename": "become-a-committer_dev.md", - "link": "/en-us/docs/developers/contributor-guide/become-a-committer_dev.html", - "meta": {} - }, - { - "filename": "cla-signing-guide_dev.md", - "link": "/en-us/docs/developers/contributor-guide/cla-signing-guide_dev.html", - "meta": {} - }, - { - "filename": "dubbo-extension-guide_dev.md", - "link": "/en-us/docs/developers/contributor-guide/dubbo-extension-guide_dev.html", - "meta": {} - }, - { - "filename": "mailing-list-subscription-guide_dev.md", - "link": "/en-us/docs/developers/contributor-guide/mailing-list-subscription-guide_dev.html", - "meta": {} - }, - { - "filename": "new-contributor-guide_dev.md", - "link": "/en-us/docs/developers/contributor-guide/new-contributor-guide_dev.html", - "meta": {} - }, - { - "filename": "reporting-security-issues_dev.md", - "link": "/en-us/docs/developers/contributor-guide/reporting-security-issues_dev.html", - "meta": {} - }, - { - "filename": "software-donation-guide_dev.md", - "link": "/en-us/docs/developers/contributor-guide/software-donation-guide_dev.html", - "meta": {} - }, - { - "filename": "test-coverage-guide_dev.md", - "link": "/en-us/docs/developers/contributor-guide/test-coverage-guide_dev.html", - "meta": {} - }, - { - "filename": "developers_dev.md", - "link": "/en-us/docs/developers/developers_dev.html", - "meta": {} - }, - { - "filename": "guide_dev.md", - "link": "/en-us/docs/developers/guide_dev.html", - "meta": {} - }, - { - "filename": "faq_dev.md", - "link": "/en-us/docs/developers/user-guide/faq_dev.html", - "meta": {} - }, - { - "filename": "README.md", - "link": "/en-us/docs/user/README.html", - "meta": {} - }, - { - "filename": "SUMMARY.md", - "link": "/en-us/docs/user/SUMMARY.html", - "meta": {} - }, - { - "filename": "benchmark-tool.md", - "link": "/en-us/docs/user/benchmark-tool.html", - "meta": {} - }, - { - "filename": "best-practice.md", - "link": "/en-us/docs/user/best-practice.html", - "meta": {} - }, - { - "filename": "capacity-plan.md", - "link": "/en-us/docs/user/capacity-plan.html", - "meta": {} - }, - { - "filename": "annotation.md", - "link": "/en-us/docs/user/configuration/annotation.html", - "meta": {} - }, - { - "filename": "api.md", - "link": "/en-us/docs/user/configuration/api.html", - "meta": {} - }, - { - "filename": "index.md", - "link": "/en-us/docs/user/configuration/index.html", - "meta": {} - }, - { - "filename": "properties.md", - "link": "/en-us/docs/user/configuration/properties.html", - "meta": {} - }, - { - "filename": "xml.md", - "link": "/en-us/docs/user/configuration/xml.html", - "meta": {} - }, - { - "filename": "coveragence.md", - "link": "/en-us/docs/user/coveragence.html", - "meta": {} - }, - { - "filename": "accesslog.md", - "link": "/en-us/docs/user/demos/accesslog.html", - "meta": {} - }, - { - "filename": "async-call.md", - "link": "/en-us/docs/user/demos/async-call.html", - "meta": {} - }, - { - "filename": "attachment.md", - "link": "/en-us/docs/user/demos/attachment.html", - "meta": {} - }, - { - "filename": "callback-parameter.md", - "link": "/en-us/docs/user/demos/callback-parameter.html", - "meta": {} - }, - { - "filename": "concurrency-control.md", - "link": "/en-us/docs/user/demos/concurrency-control.html", - "meta": {} - }, - { - "filename": "config-connections.md", - "link": "/en-us/docs/user/demos/config-connections.html", - "meta": {} - }, - { - "filename": "config-rule.md", - "link": "/en-us/docs/user/demos/config-rule.html", - "meta": {} - }, - { - "filename": "context.md", - "link": "/en-us/docs/user/demos/context.html", - "meta": {} - }, - { - "filename": "delay-publish.md", - "link": "/en-us/docs/user/demos/delay-publish.html", - "meta": {} - }, - { - "filename": "distributed-transaction.md", - "link": "/en-us/docs/user/demos/distributed-transaction.html", - "meta": {} - }, - { - "filename": "dump.md", - "link": "/en-us/docs/user/demos/dump.html", - "meta": {} - }, - { - "filename": "echo-service.md", - "link": "/en-us/docs/user/demos/echo-service.html", - "meta": {} - }, - { - "filename": "events-notify.md", - "link": "/en-us/docs/user/demos/events-notify.html", - "meta": {} - }, - { - "filename": "explicit-target.md", - "link": "/en-us/docs/user/demos/explicit-target.html", - "meta": {} - }, - { - "filename": "fault-tolerent-strategy.md", - "link": "/en-us/docs/user/demos/fault-tolerent-strategy.html", - "meta": {} - }, - { - "filename": "generic-reference.md", - "link": "/en-us/docs/user/demos/generic-reference.html", - "meta": {} - }, - { - "filename": "generic-service.md", - "link": "/en-us/docs/user/demos/generic-service.html", - "meta": {} - }, - { - "filename": "graceful-shutdown.md", - "link": "/en-us/docs/user/demos/graceful-shutdown.html", - "meta": {} - }, - { - "filename": "group-merger.md", - "link": "/en-us/docs/user/demos/group-merger.html", - "meta": {} - }, - { - "filename": "hostname-binding.md", - "link": "/en-us/docs/user/demos/hostname-binding.html", - "meta": {} - }, - { - "filename": "index.md", - "link": "/en-us/docs/user/demos/index.html", - "meta": {} - }, - { - "filename": "introduction.md", - "link": "/en-us/docs/user/demos/introduction.html", - "meta": {} - }, - { - "filename": "lazy-connect.md", - "link": "/en-us/docs/user/demos/lazy-connect.html", - "meta": {} - }, - { - "filename": "loadbalance.md", - "link": "/en-us/docs/user/demos/loadbalance.html", - "meta": {} - }, - { - "filename": "local-call.md", - "link": "/en-us/docs/user/demos/local-call.html", - "meta": {} - }, - { - "filename": "local-mock.md", - "link": "/en-us/docs/user/demos/local-mock.html", - "meta": {} - }, - { - "filename": "local-stub.md", - "link": "/en-us/docs/user/demos/local-stub.html", - "meta": {} - }, - { - "filename": "logger-strategy.md", - "link": "/en-us/docs/user/demos/logger-strategy.html", - "meta": {} - }, - { - "filename": "multi-protocols.md", - "link": "/en-us/docs/user/demos/multi-protocols.html", - "meta": {} - }, - { - "filename": "multi-registry.md", - "link": "/en-us/docs/user/demos/multi-registry.html", - "meta": {} - }, - { - "filename": "multi-versions.md", - "link": "/en-us/docs/user/demos/multi-versions.html", - "meta": {} - }, - { - "filename": "netty4.md", - "link": "/en-us/docs/user/demos/netty4.html", - "meta": {} - }, - { - "filename": "parameter-validation.md", - "link": "/en-us/docs/user/demos/parameter-validation.html", - "meta": {} - }, - { - "filename": "preflight-check.md", - "link": "/en-us/docs/user/demos/preflight-check.html", - "meta": {} - }, - { - "filename": "reference-config-cache.md", - "link": "/en-us/docs/user/demos/reference-config-cache.html", - "meta": {} - }, - { - "filename": "registry-only.md", - "link": "/en-us/docs/user/demos/registry-only.html", - "meta": {} - }, - { - "filename": "result-cache.md", - "link": "/en-us/docs/user/demos/result-cache.html", - "meta": {} - }, - { - "filename": "routing-rule.md", - "link": "/en-us/docs/user/demos/routing-rule.html", - "meta": {} - }, - { - "filename": "serialization.md", - "link": "/en-us/docs/user/demos/serialization.html", - "meta": {} - }, - { - "filename": "service-container.md", - "link": "/en-us/docs/user/demos/service-container.html", - "meta": {} - }, - { - "filename": "service-downgrade.md", - "link": "/en-us/docs/user/demos/service-downgrade.html", - "meta": {} - }, - { - "filename": "service-group.md", - "link": "/en-us/docs/user/demos/service-group.html", - "meta": {} - }, - { - "filename": "static-service.md", - "link": "/en-us/docs/user/demos/static-service.html", - "meta": {} - }, - { - "filename": "stickiness.md", - "link": "/en-us/docs/user/demos/stickiness.html", - "meta": {} - }, - { - "filename": "subscribe-only.md", - "link": "/en-us/docs/user/demos/subscribe-only.html", - "meta": {} - }, - { - "filename": "thread-model.md", - "link": "/en-us/docs/user/demos/thread-model.html", - "meta": {} - }, - { - "filename": "token-authorization.md", - "link": "/en-us/docs/user/demos/token-authorization.html", - "meta": {} - }, - { - "filename": "dependencies.md", - "link": "/en-us/docs/user/dependencies.html", - "meta": {} - }, - { - "filename": "reference.md", - "link": "/en-us/docs/user/languages/erlang/reference.html", - "meta": {} - }, - { - "filename": "serialization.md", - "link": "/en-us/docs/user/languages/erlang/serialization.html", - "meta": {} - }, - { - "filename": "service.md", - "link": "/en-us/docs/user/languages/erlang/service.html", - "meta": {} - }, - { - "filename": "start.md", - "link": "/en-us/docs/user/languages/erlang/start.html", - "meta": {} - }, - { - "filename": "maturity.md", - "link": "/en-us/docs/user/maturity.html", - "meta": {} - }, - { - "filename": "perf-test.md", - "link": "/en-us/docs/user/perf-test.html", - "meta": {} - }, - { - "filename": "architecture.md", - "link": "/en-us/docs/user/preface/architecture.html", - "meta": {} - }, - { - "filename": "background.md", - "link": "/en-us/docs/user/preface/background.html", - "meta": {} - }, - { - "filename": "index.md", - "link": "/en-us/docs/user/preface/index.html", - "meta": {} - }, - { - "filename": "requirements.md", - "link": "/en-us/docs/user/preface/requirements.html", - "meta": {} - }, - { - "filename": "usage.md", - "link": "/en-us/docs/user/preface/usage.html", - "meta": {} - }, - { - "filename": "quick-start.md", - "link": "/en-us/docs/user/quick-start.html", - "meta": {} - }, - { - "filename": "recommend.md", - "link": "/en-us/docs/user/recommend.html", - "meta": {} - }, - { - "filename": "api.md", - "link": "/en-us/docs/user/references/api.html", - "meta": {} - }, - { - "filename": "maven.md", - "link": "/en-us/docs/user/references/maven.html", - "meta": {} - }, - { - "filename": "dubbo.md", - "link": "/en-us/docs/user/references/protocol/dubbo.html", - "meta": {} - }, - { - "filename": "hessian.md", - "link": "/en-us/docs/user/references/protocol/hessian.html", - "meta": {} - }, - { - "filename": "http.md", - "link": "/en-us/docs/user/references/protocol/http.html", - "meta": {} - }, - { - "filename": "introduction.md", - "link": "/en-us/docs/user/references/protocol/introduction.html", - "meta": {} - }, - { - "filename": "memcached.md", - "link": "/en-us/docs/user/references/protocol/memcached.html", - "meta": {} - }, - { - "filename": "redis.md", - "link": "/en-us/docs/user/references/protocol/redis.html", - "meta": {} - }, - { - "filename": "rest.md", - "link": "/en-us/docs/user/references/protocol/rest.html", - "meta": {} - }, - { - "filename": "rmi.md", - "link": "/en-us/docs/user/references/protocol/rmi.html", - "meta": {} - }, - { - "filename": "thrift.md", - "link": "/en-us/docs/user/references/protocol/thrift.html", - "meta": {} - }, - { - "filename": "webservice.md", - "link": "/en-us/docs/user/references/protocol/webservice.html", - "meta": {} - }, - { - "filename": "qos.md", - "link": "/en-us/docs/user/references/qos.html", - "meta": {} - }, - { - "filename": "introduction.md", - "link": "/en-us/docs/user/references/registry/introduction.html", - "meta": {} - }, - { - "filename": "multicast.md", - "link": "/en-us/docs/user/references/registry/multicast.html", - "meta": {} - }, - { - "filename": "nacos.md", - "link": "/en-us/docs/user/references/registry/nacos.html", - "meta": {} - }, - { - "filename": "redis.md", - "link": "/en-us/docs/user/references/registry/redis.html", - "meta": {} - }, - { - "filename": "simple.md", - "link": "/en-us/docs/user/references/registry/simple.html", - "meta": {} - }, - { - "filename": "zookeeper.md", - "link": "/en-us/docs/user/references/registry/zookeeper.html", - "meta": {} - }, - { - "filename": "telnet.md", - "link": "/en-us/docs/user/references/telnet.html", - "meta": {} - }, - { - "filename": "dubbo-application.md", - "link": "/en-us/docs/user/references/xml/dubbo-application.html", - "meta": {} - }, - { - "filename": "dubbo-argument.md", - "link": "/en-us/docs/user/references/xml/dubbo-argument.html", - "meta": {} - }, - { - "filename": "dubbo-consumer.md", - "link": "/en-us/docs/user/references/xml/dubbo-consumer.html", - "meta": {} - }, - { - "filename": "dubbo-method.md", - "link": "/en-us/docs/user/references/xml/dubbo-method.html", - "meta": {} - }, - { - "filename": "dubbo-module.md", - "link": "/en-us/docs/user/references/xml/dubbo-module.html", - "meta": {} - }, - { - "filename": "dubbo-monitor.md", - "link": "/en-us/docs/user/references/xml/dubbo-monitor.html", - "meta": {} - }, - { - "filename": "dubbo-parameter.md", - "link": "/en-us/docs/user/references/xml/dubbo-parameter.html", - "meta": {} - }, - { - "filename": "dubbo-protocol.md", - "link": "/en-us/docs/user/references/xml/dubbo-protocol.html", - "meta": {} - }, - { - "filename": "dubbo-provider.md", - "link": "/en-us/docs/user/references/xml/dubbo-provider.html", - "meta": {} - }, - { - "filename": "dubbo-reference.md", - "link": "/en-us/docs/user/references/xml/dubbo-reference.html", - "meta": {} - }, - { - "filename": "dubbo-registry.md", - "link": "/en-us/docs/user/references/xml/dubbo-registry.html", - "meta": {} - }, - { - "filename": "dubbo-service.md", - "link": "/en-us/docs/user/references/xml/dubbo-service.html", - "meta": {} - }, - { - "filename": "introduction.md", - "link": "/en-us/docs/user/references/xml/introduction.html", - "meta": {} - }, - { - "filename": "rest.md", - "link": "/en-us/docs/user/rest.html", - "meta": {} - }, - { - "filename": "simple-monitor.md", - "link": "/en-us/docs/user/simple-monitor.html", - "meta": {} - } - ], - "zh-cn": [ - { - "filename": "README.md", - "link": "/zh-cn/docs/admin/README.html", - "meta": {} - }, - { - "filename": "SUMMARY.md", - "link": "/zh-cn/docs/admin/SUMMARY.html", - "meta": {} - }, - { - "filename": "admin-console.md", - "link": "/zh-cn/docs/admin/install/admin-console.html", - "meta": {} - }, - { - "filename": "consumer-demo.md", - "link": "/zh-cn/docs/admin/install/consumer-demo.html", - "meta": {} - }, - { - "filename": "introduction.md", - "link": "/zh-cn/docs/admin/install/introduction.html", - "meta": {} - }, - { - "filename": "provider-demo.md", - "link": "/zh-cn/docs/admin/install/provider-demo.html", - "meta": {} - }, - { - "filename": "redis.md", - "link": "/zh-cn/docs/admin/install/redis.html", - "meta": {} - }, - { - "filename": "simple-monitor-center.md", - "link": "/zh-cn/docs/admin/install/simple-monitor-center.html", - "meta": {} - }, - { - "filename": "simple-registry-center.md", - "link": "/zh-cn/docs/admin/install/simple-registry-center.html", - "meta": {} - }, - { - "filename": "zookeeper.md", - "link": "/zh-cn/docs/admin/install/zookeeper.html", - "meta": {} - }, - { - "filename": "introduction.md", - "link": "/zh-cn/docs/admin/introduction.html", - "meta": {} - }, - { - "filename": "dubbo-ops.md", - "link": "/zh-cn/docs/admin/ops/dubbo-ops.html", - "meta": {} - }, - { - "filename": "introduction.md", - "link": "/zh-cn/docs/admin/ops/introduction.html", - "meta": {} - }, - { - "filename": "pinpoint.md", - "link": "/zh-cn/docs/admin/ops/pinpoint.html", - "meta": {} - }, - { - "filename": "skywalking.md", - "link": "/zh-cn/docs/admin/ops/skywalking.html", - "meta": {} - }, - { - "filename": "serviceGovernance.md", - "link": "/zh-cn/docs/admin/serviceGovernance.html", - "meta": {} - }, - { - "filename": "serviceSearch.md", - "link": "/zh-cn/docs/admin/serviceSearch.html", - "meta": {} - }, - { - "filename": "serviceTest.md", - "link": "/zh-cn/docs/admin/serviceTest.html", - "meta": {} - }, - { - "filename": "README.md", - "link": "/zh-cn/docs/dev/README.html", - "meta": {} - }, - { - "filename": "SPI.md", - "link": "/zh-cn/docs/dev/SPI.html", - "meta": {} - }, - { - "filename": "SUMMARY.md", - "link": "/zh-cn/docs/dev/SUMMARY.html", - "meta": {} - }, - { - "filename": "TCK.md", - "link": "/zh-cn/docs/dev/TCK.html", - "meta": {} - }, - { - "filename": "build.md", - "link": "/zh-cn/docs/dev/build.html", - "meta": {} - }, - { - "filename": "checklist.md", - "link": "/zh-cn/docs/dev/checklist.html", - "meta": {} - }, - { - "filename": "code-smell.md", - "link": "/zh-cn/docs/dev/code-smell.html", - "meta": {} - }, - { - "filename": "coding.md", - "link": "/zh-cn/docs/dev/coding.html", - "meta": {} - }, - { - "filename": "contract.md", - "link": "/zh-cn/docs/dev/contract.html", - "meta": {} - }, - { - "filename": "contribution.md", - "link": "/zh-cn/docs/dev/contribution.html", - "meta": {} - }, - { - "filename": "design.md", - "link": "/zh-cn/docs/dev/design.html", - "meta": {} - }, - { - "filename": "implementation.md", - "link": "/zh-cn/docs/dev/implementation.html", - "meta": {} - }, - { - "filename": "cache.md", - "link": "/zh-cn/docs/dev/impls/cache.html", - "meta": {} - }, - { - "filename": "cluster.md", - "link": "/zh-cn/docs/dev/impls/cluster.html", - "meta": {} - }, - { - "filename": "compiler.md", - "link": "/zh-cn/docs/dev/impls/compiler.html", - "meta": {} - }, - { - "filename": "container.md", - "link": "/zh-cn/docs/dev/impls/container.html", - "meta": {} - }, - { - "filename": "dispatcher.md", - "link": "/zh-cn/docs/dev/impls/dispatcher.html", - "meta": {} - }, - { - "filename": "exchanger.md", - "link": "/zh-cn/docs/dev/impls/exchanger.html", - "meta": {} - }, - { - "filename": "exporter-listener.md", - "link": "/zh-cn/docs/dev/impls/exporter-listener.html", - "meta": {} - }, - { - "filename": "extension-factory.md", - "link": "/zh-cn/docs/dev/impls/extension-factory.html", - "meta": {} - }, - { - "filename": "filter.md", - "link": "/zh-cn/docs/dev/impls/filter.html", - "meta": {} - }, - { - "filename": "introduction.md", - "link": "/zh-cn/docs/dev/impls/introduction.html", - "meta": {} - }, - { - "filename": "invoker-listener.md", - "link": "/zh-cn/docs/dev/impls/invoker-listener.html", - "meta": {} - }, - { - "filename": "load-balance.md", - "link": "/zh-cn/docs/dev/impls/load-balance.html", - "meta": {} - }, - { - "filename": "logger-adapter.md", - "link": "/zh-cn/docs/dev/impls/logger-adapter.html", - "meta": {} - }, - { - "filename": "merger.md", - "link": "/zh-cn/docs/dev/impls/merger.html", - "meta": {} - }, - { - "filename": "monitor.md", - "link": "/zh-cn/docs/dev/impls/monitor.html", - "meta": {} - }, - { - "filename": "networker.md", - "link": "/zh-cn/docs/dev/impls/networker.html", - "meta": {} - }, - { - "filename": "page.md", - "link": "/zh-cn/docs/dev/impls/page.html", - "meta": {} - }, - { - "filename": "protocol.md", - "link": "/zh-cn/docs/dev/impls/protocol.html", - "meta": {} - }, - { - "filename": "proxy-factory.md", - "link": "/zh-cn/docs/dev/impls/proxy-factory.html", - "meta": {} - }, - { - "filename": "registry.md", - "link": "/zh-cn/docs/dev/impls/registry.html", - "meta": {} - }, - { - "filename": "remoting.md", - "link": "/zh-cn/docs/dev/impls/remoting.html", - "meta": {} - }, - { - "filename": "router.md", - "link": "/zh-cn/docs/dev/impls/router.html", - "meta": {} - }, - { - "filename": "serialize.md", - "link": "/zh-cn/docs/dev/impls/serialize.html", - "meta": {} - }, - { - "filename": "status-checker.md", - "link": "/zh-cn/docs/dev/impls/status-checker.html", - "meta": {} - }, - { - "filename": "telnet-handler.md", - "link": "/zh-cn/docs/dev/impls/telnet-handler.html", - "meta": {} - }, - { - "filename": "threadpool.md", - "link": "/zh-cn/docs/dev/impls/threadpool.html", - "meta": {} - }, - { - "filename": "validation.md", - "link": "/zh-cn/docs/dev/impls/validation.html", - "meta": {} - }, - { - "filename": "introduction.md", - "link": "/zh-cn/docs/dev/introduction.html", - "meta": {} - }, - { - "filename": "code-detail.md", - "link": "/zh-cn/docs/dev/principals/code-detail.html", - "meta": {} - }, - { - "filename": "configuration.md", - "link": "/zh-cn/docs/dev/principals/configuration.html", - "meta": {} - }, - { - "filename": "dummy.md", - "link": "/zh-cn/docs/dev/principals/dummy.html", - "meta": {} - }, - { - "filename": "expansibility.md", - "link": "/zh-cn/docs/dev/principals/expansibility.html", - "meta": {} - }, - { - "filename": "extension.md", - "link": "/zh-cn/docs/dev/principals/extension.html", - "meta": {} - }, - { - "filename": "general-knowledge.md", - "link": "/zh-cn/docs/dev/principals/general-knowledge.html", - "meta": {} - }, - { - "filename": "introduction.md", - "link": "/zh-cn/docs/dev/principals/introduction.html", - "meta": {} - }, - { - "filename": "robustness.md", - "link": "/zh-cn/docs/dev/principals/robustness.html", - "meta": {} - }, - { - "filename": "release.md", - "link": "/zh-cn/docs/dev/release.html", - "meta": {} - }, - { - "filename": "apache-dubbo-page_dev.md", - "link": "/zh-cn/docs/developers/committer-guide/apache-dubbo-page_dev.html", - "meta": {} - }, - { - "filename": "label-an-issue-guide_dev.md", - "link": "/zh-cn/docs/developers/committer-guide/label-an-issue-guide_dev.html", - "meta": {} - }, - { - "filename": "new-committer-guide_dev.md", - "link": "/zh-cn/docs/developers/committer-guide/new-committer-guide_dev.html", - "meta": {} - }, - { - "filename": "release-guide_dev.md", - "link": "/zh-cn/docs/developers/committer-guide/release-guide_dev.html", - "meta": { - "title": "如何准备Apache Release", - "keywords": "Dubbo, Apache, Release" - } - }, - { - "filename": "website-guide_dev.md", - "link": "/zh-cn/docs/developers/committer-guide/website-guide_dev.html", - "meta": {} - }, - { - "filename": "become-a-committer_dev.md", - "link": "/zh-cn/docs/developers/contributor-guide/become-a-committer_dev.html", - "meta": {} - }, - { - "filename": "cla-signing-guide_dev.md", - "link": "/zh-cn/docs/developers/contributor-guide/cla-signing-guide_dev.html", - "meta": {} - }, - { - "filename": "dubbo-extension-guide_dev.md", - "link": "/zh-cn/docs/developers/contributor-guide/dubbo-extension-guide_dev.html", - "meta": {} - }, - { - "filename": "mailing-list-subscription-guide_dev.md", - "link": "/zh-cn/docs/developers/contributor-guide/mailing-list-subscription-guide_dev.html", - "meta": {} - }, - { - "filename": "new-contributor-guide_dev.md", - "link": "/zh-cn/docs/developers/contributor-guide/new-contributor-guide_dev.html", - "meta": {} - }, - { - "filename": "reporting-security-issues_dev.md", - "link": "/zh-cn/docs/developers/contributor-guide/reporting-security-issues_dev.html", - "meta": {} - }, - { - "filename": "software-donation-guide_dev.md", - "link": "/zh-cn/docs/developers/contributor-guide/software-donation-guide_dev.html", - "meta": {} - }, - { - "filename": "test-coverage-guide_dev.md", - "link": "/zh-cn/docs/developers/contributor-guide/test-coverage-guide_dev.html", - "meta": {} - }, - { - "filename": "developers_dev.md", - "link": "/zh-cn/docs/developers/developers_dev.html", - "meta": {} - }, - { - "filename": "guide_dev.md", - "link": "/zh-cn/docs/developers/guide_dev.html", - "meta": {} - }, - { - "filename": "faq_dev.md", - "link": "/zh-cn/docs/developers/user-guide/faq_dev.html", - "meta": {} - }, - { - "filename": "adaptive-extension.md", - "link": "/zh-cn/docs/source_code_guide/adaptive-extension.html", - "meta": { - "title": "SPI 自适应拓展", - "keywords": "Dubbo, SPI, Adaptive Extension", - "description": "本文介绍了自适应拓展的原理和实现细节" - } - }, - { - "filename": "cluster.md", - "link": "/zh-cn/docs/source_code_guide/cluster.html", - "meta": { - "title": "集群", - "keywords": "Dubbo, Cluster", - "description": "本文介绍了集群的原理和实现细节" - } - }, - { - "filename": "directory.md", - "link": "/zh-cn/docs/source_code_guide/directory.html", - "meta": { - "title": "服务目录", - "keywords": "Dubbo, Directory", - "description": "本文介绍了服务目录的原理和实现细节" - } - }, - { - "filename": "dubbo-spi.md", - "link": "/zh-cn/docs/source_code_guide/dubbo-spi.html", - "meta": { - "title": "Dubbo SPI", - "keywords": "Dubbo, SPI", - "description": "本文介绍了 Dubbo SPI 的原理和实现细节" - } - }, - { - "filename": "export-service.md", - "link": "/zh-cn/docs/source_code_guide/export-service.html", - "meta": { - "title": "服务导出", - "keywords": "Dubbo, service, export", - "description": "本文介绍了 Dubbo 服务导出的过程和实现细节" - } - }, - { - "filename": "loadbalance.md", - "link": "/zh-cn/docs/source_code_guide/loadbalance.html", - "meta": { - "title": "负载均衡", - "keywords": "Dubbo, LoadBalance", - "description": "本文介绍了集群的原理和实现细节" - } - }, - { - "filename": "refer-service.md", - "link": "/zh-cn/docs/source_code_guide/refer-service.html", - "meta": { - "title": "服务引用", - "keywords": "Dubbo, service, refer", - "description": "本文介绍了 Dubbo 服务引用的过程和实现细节" - } - }, - { - "filename": "router.md", - "link": "/zh-cn/docs/source_code_guide/router.html", - "meta": { - "title": "服务路由", - "keywords": "Dubbo, Router", - "description": "本文介绍了服务\b路由的原理和实现细节" - } - }, - { - "filename": "service-invoking-process.md", - "link": "/zh-cn/docs/source_code_guide/service-invoking-process.html", - "meta": { - "title": "服务调用过程", - "keywords": "Dubbo, Service", - "description": "本文介绍了服务调用过程\b的原理和实现细节" - } - }, - { - "filename": "README.md", - "link": "/zh-cn/docs/user/README.html", - "meta": {} - }, - { - "filename": "SUMMARY.md", - "link": "/zh-cn/docs/user/SUMMARY.html", - "meta": {} - }, - { - "filename": "benchmark-tool.md", - "link": "/zh-cn/docs/user/benchmark-tool.html", - "meta": {} - }, - { - "filename": "best-practice.md", - "link": "/zh-cn/docs/user/best-practice.html", - "meta": { - "title": "服务化最佳实践", - "keywords": "分包, 粒度, 版本, 兼容性, 枚举, 序列化,异常", - "description": "Dubbo 最佳实践" - } - }, - { - "filename": "capacity-plan.md", - "link": "/zh-cn/docs/user/capacity-plan.html", - "meta": { - "title": "容量规划", - "keywords": "容量规划", - "description": "Dubbo 应用容量规划参考" - } - }, - { - "filename": "annotation.md", - "link": "/zh-cn/docs/user/configuration/annotation.html", - "meta": {} - }, - { - "filename": "api.md", - "link": "/zh-cn/docs/user/configuration/api.html", - "meta": {} - }, - { - "filename": "config-center.md", - "link": "/zh-cn/docs/user/configuration/config-center.html", - "meta": {} - }, - { - "filename": "configuration-load-process.md", - "link": "/zh-cn/docs/user/configuration/configuration-load-process.html", - "meta": {} - }, - { - "filename": "index.md", - "link": "/zh-cn/docs/user/configuration/index.html", - "meta": {} - }, - { - "filename": "properties-deprecated.md", - "link": "/zh-cn/docs/user/configuration/properties-deprecated.html", - "meta": {} - }, - { - "filename": "xml.md", - "link": "/zh-cn/docs/user/configuration/xml.html", - "meta": {} - }, - { - "filename": "coveragence.md", - "link": "/zh-cn/docs/user/coveragence.html", - "meta": {} - }, - { - "filename": "accesslog.md", - "link": "/zh-cn/docs/user/demos/accesslog.html", - "meta": {} - }, - { - "filename": "async-call-deprecated.md", - "link": "/zh-cn/docs/user/demos/async-call-deprecated.html", - "meta": {} - }, - { - "filename": "async-call.md", - "link": "/zh-cn/docs/user/demos/async-call.html", - "meta": {} - }, - { - "filename": "async-execute-on-provider.md", - "link": "/zh-cn/docs/user/demos/async-execute-on-provider.html", - "meta": {} - }, - { - "filename": "attachment.md", - "link": "/zh-cn/docs/user/demos/attachment.html", - "meta": {} - }, - { - "filename": "callback-parameter.md", - "link": "/zh-cn/docs/user/demos/callback-parameter.html", - "meta": {} - }, - { - "filename": "concurrency-control.md", - "link": "/zh-cn/docs/user/demos/concurrency-control.html", - "meta": {} - }, - { - "filename": "config-connections.md", - "link": "/zh-cn/docs/user/demos/config-connections.html", - "meta": {} - }, - { - "filename": "config-rule-deprecated.md", - "link": "/zh-cn/docs/user/demos/config-rule-deprecated.html", - "meta": {} - }, - { - "filename": "config-rule.md", - "link": "/zh-cn/docs/user/demos/config-rule.html", - "meta": {} - }, - { - "filename": "context.md", - "link": "/zh-cn/docs/user/demos/context.html", - "meta": {} - }, - { - "filename": "delay-publish.md", - "link": "/zh-cn/docs/user/demos/delay-publish.html", - "meta": {} - }, - { - "filename": "distributed-transaction.md", - "link": "/zh-cn/docs/user/demos/distributed-transaction.html", - "meta": {} - }, - { - "filename": "dump.md", - "link": "/zh-cn/docs/user/demos/dump.html", - "meta": {} - }, - { - "filename": "echo-service.md", - "link": "/zh-cn/docs/user/demos/echo-service.html", - "meta": {} - }, - { - "filename": "events-notify.md", - "link": "/zh-cn/docs/user/demos/events-notify.html", - "meta": {} - }, - { - "filename": "explicit-target.md", - "link": "/zh-cn/docs/user/demos/explicit-target.html", - "meta": {} - }, - { - "filename": "fault-tolerent-strategy.md", - "link": "/zh-cn/docs/user/demos/fault-tolerent-strategy.html", - "meta": {} - }, - { - "filename": "generic-reference.md", - "link": "/zh-cn/docs/user/demos/generic-reference.html", - "meta": {} - }, - { - "filename": "generic-service.md", - "link": "/zh-cn/docs/user/demos/generic-service.html", - "meta": {} - }, - { - "filename": "graceful-shutdown.md", - "link": "/zh-cn/docs/user/demos/graceful-shutdown.html", - "meta": {} - }, - { - "filename": "group-merger.md", - "link": "/zh-cn/docs/user/demos/group-merger.html", - "meta": {} - }, - { - "filename": "hostname-binding.md", - "link": "/zh-cn/docs/user/demos/hostname-binding.html", - "meta": {} - }, - { - "filename": "index.md", - "link": "/zh-cn/docs/user/demos/index.html", - "meta": {} - }, - { - "filename": "introduction.md", - "link": "/zh-cn/docs/user/demos/introduction.html", - "meta": {} - }, - { - "filename": "lazy-connect.md", - "link": "/zh-cn/docs/user/demos/lazy-connect.html", - "meta": {} - }, - { - "filename": "loadbalance.md", - "link": "/zh-cn/docs/user/demos/loadbalance.html", - "meta": {} - }, - { - "filename": "local-call.md", - "link": "/zh-cn/docs/user/demos/local-call.html", - "meta": {} - }, - { - "filename": "local-mock.md", - "link": "/zh-cn/docs/user/demos/local-mock.html", - "meta": {} - }, - { - "filename": "local-stub.md", - "link": "/zh-cn/docs/user/demos/local-stub.html", - "meta": {} - }, - { - "filename": "logger-strategy.md", - "link": "/zh-cn/docs/user/demos/logger-strategy.html", - "meta": {} - }, - { - "filename": "multi-protocols.md", - "link": "/zh-cn/docs/user/demos/multi-protocols.html", - "meta": {} - }, - { - "filename": "multi-registry.md", - "link": "/zh-cn/docs/user/demos/multi-registry.html", - "meta": {} - }, - { - "filename": "multi-versions.md", - "link": "/zh-cn/docs/user/demos/multi-versions.html", - "meta": {} - }, - { - "filename": "netty4.md", - "link": "/zh-cn/docs/user/demos/netty4.html", - "meta": {} - }, - { - "filename": "parameter-validation.md", - "link": "/zh-cn/docs/user/demos/parameter-validation.html", - "meta": {} - }, - { - "filename": "preflight-check.md", - "link": "/zh-cn/docs/user/demos/preflight-check.html", - "meta": {} - }, - { - "filename": "reference-config-cache.md", - "link": "/zh-cn/docs/user/demos/reference-config-cache.html", - "meta": {} - }, - { - "filename": "registry-only.md", - "link": "/zh-cn/docs/user/demos/registry-only.html", - "meta": {} - }, - { - "filename": "result-cache.md", - "link": "/zh-cn/docs/user/demos/result-cache.html", - "meta": {} - }, - { - "filename": "routing-rule-deprecated.md", - "link": "/zh-cn/docs/user/demos/routing-rule-deprecated.html", - "meta": {} - }, - { - "filename": "routing-rule.md", - "link": "/zh-cn/docs/user/demos/routing-rule.html", - "meta": {} - }, - { - "filename": "serialization.md", - "link": "/zh-cn/docs/user/demos/serialization.html", - "meta": {} - }, - { - "filename": "service-container.md", - "link": "/zh-cn/docs/user/demos/service-container.html", - "meta": {} - }, - { - "filename": "service-downgrade.md", - "link": "/zh-cn/docs/user/demos/service-downgrade.html", - "meta": {} - }, - { - "filename": "service-group.md", - "link": "/zh-cn/docs/user/demos/service-group.html", - "meta": {} - }, - { - "filename": "set-host.md", - "link": "/zh-cn/docs/user/demos/set-host.html", - "meta": {} - }, - { - "filename": "simplify-registry-data.md", - "link": "/zh-cn/docs/user/demos/simplify-registry-data.html", - "meta": {} - }, - { - "filename": "static-service.md", - "link": "/zh-cn/docs/user/demos/static-service.html", - "meta": {} - }, - { - "filename": "stickiness.md", - "link": "/zh-cn/docs/user/demos/stickiness.html", - "meta": {} - }, - { - "filename": "subscribe-only.md", - "link": "/zh-cn/docs/user/demos/subscribe-only.html", - "meta": {} - }, - { - "filename": "thread-model.md", - "link": "/zh-cn/docs/user/demos/thread-model.html", - "meta": {} - }, - { - "filename": "token-authorization.md", - "link": "/zh-cn/docs/user/demos/token-authorization.html", - "meta": {} - }, - { - "filename": "dependencies.md", - "link": "/zh-cn/docs/user/dependencies.html", - "meta": { - "title": "依赖", - "keywords": "必须依赖, 缺省依赖, 可选依赖", - "description": "Dubbo 依赖基本介绍" - } - }, - { - "filename": "reference.md", - "link": "/zh-cn/docs/user/languages/erlang/reference.html", - "meta": {} - }, - { - "filename": "serialization.md", - "link": "/zh-cn/docs/user/languages/erlang/serialization.html", - "meta": {} - }, - { - "filename": "service.md", - "link": "/zh-cn/docs/user/languages/erlang/service.html", - "meta": {} - }, - { - "filename": "start.md", - "link": "/zh-cn/docs/user/languages/erlang/start.html", - "meta": {} - }, - { - "filename": "maturity.md", - "link": "/zh-cn/docs/user/maturity.html", - "meta": { - "title": "成熟度", - "keywords": "功能成熟度, 策略成熟度", - "description": "介绍 Dubbo 各个功能、策略的成熟度" - } - }, - { - "filename": "perf-test.md", - "link": "/zh-cn/docs/user/perf-test.html", - "meta": { - "title": "性能测试报告", - "keywords": "性能测试", - "description": "Dubbo 2.0 性能测试报告" - } - }, - { - "filename": "architecture.md", - "link": "/zh-cn/docs/user/preface/architecture.html", - "meta": {} - }, - { - "filename": "background.md", - "link": "/zh-cn/docs/user/preface/background.html", - "meta": {} - }, - { - "filename": "index.md", - "link": "/zh-cn/docs/user/preface/index.html", - "meta": {} - }, - { - "filename": "requirements.md", - "link": "/zh-cn/docs/user/preface/requirements.html", - "meta": {} - }, - { - "filename": "usage.md", - "link": "/zh-cn/docs/user/preface/usage.html", - "meta": {} - }, - { - "filename": "quick-start.md", - "link": "/zh-cn/docs/user/quick-start.html", - "meta": { - "title": "快速启动", - "keywords": "XML configuration, Consumer, Provider", - "description": "使用 XML 配置方式快速上手 Dubbo" - } - }, - { - "filename": "recommend.md", - "link": "/zh-cn/docs/user/recommend.html", - "meta": { - "title": "推荐用法", - "keywords": "Provider 配置, 管理信息, 缓存, 监控", - "description": "Dubbo 推荐用法举例" - } - }, - { - "filename": "api.md", - "link": "/zh-cn/docs/user/references/api.html", - "meta": {} - }, - { - "filename": "maven.md", - "link": "/zh-cn/docs/user/references/maven.html", - "meta": {} - }, - { - "filename": "introduction.md", - "link": "/zh-cn/docs/user/references/metadata/introduction.html", - "meta": {} - }, - { - "filename": "metadata-redis.md", - "link": "/zh-cn/docs/user/references/metadata/metadata-redis.html", - "meta": {} - }, - { - "filename": "metadata-zookeeper.md", - "link": "/zh-cn/docs/user/references/metadata/metadata-zookeeper.html", - "meta": {} - }, - { - "filename": "dubbo.md", - "link": "/zh-cn/docs/user/references/protocol/dubbo.html", - "meta": {} - }, - { - "filename": "hessian.md", - "link": "/zh-cn/docs/user/references/protocol/hessian.html", - "meta": {} - }, - { - "filename": "http.md", - "link": "/zh-cn/docs/user/references/protocol/http.html", - "meta": {} - }, - { - "filename": "introduction.md", - "link": "/zh-cn/docs/user/references/protocol/introduction.html", - "meta": {} - }, - { - "filename": "memcached.md", - "link": "/zh-cn/docs/user/references/protocol/memcached.html", - "meta": {} - }, - { - "filename": "redis.md", - "link": "/zh-cn/docs/user/references/protocol/redis.html", - "meta": {} - }, - { - "filename": "rest.md", - "link": "/zh-cn/docs/user/references/protocol/rest.html", - "meta": {} - }, - { - "filename": "rmi.md", - "link": "/zh-cn/docs/user/references/protocol/rmi.html", - "meta": {} - }, - { - "filename": "thrift.md", - "link": "/zh-cn/docs/user/references/protocol/thrift.html", - "meta": {} - }, - { - "filename": "webservice.md", - "link": "/zh-cn/docs/user/references/protocol/webservice.html", - "meta": {} - }, - { - "filename": "qos.md", - "link": "/zh-cn/docs/user/references/qos.html", - "meta": {} - }, - { - "filename": "introduction.md", - "link": "/zh-cn/docs/user/references/registry/introduction.html", - "meta": {} - }, - { - "filename": "multicast.md", - "link": "/zh-cn/docs/user/references/registry/multicast.html", - "meta": {} - }, - { - "filename": "nacos.md", - "link": "/zh-cn/docs/user/references/registry/nacos.html", - "meta": {} - }, - { - "filename": "redis.md", - "link": "/zh-cn/docs/user/references/registry/redis.html", - "meta": {} - }, - { - "filename": "simple.md", - "link": "/zh-cn/docs/user/references/registry/simple.html", - "meta": {} - }, - { - "filename": "zookeeper.md", - "link": "/zh-cn/docs/user/references/registry/zookeeper.html", - "meta": {} - }, - { - "filename": "telnet.md", - "link": "/zh-cn/docs/user/references/telnet.html", - "meta": {} - }, - { - "filename": "dubbo-application.md", - "link": "/zh-cn/docs/user/references/xml/dubbo-application.html", - "meta": {} - }, - { - "filename": "dubbo-argument.md", - "link": "/zh-cn/docs/user/references/xml/dubbo-argument.html", - "meta": {} - }, - { - "filename": "dubbo-config-center.md", - "link": "/zh-cn/docs/user/references/xml/dubbo-config-center.html", - "meta": {} - }, - { - "filename": "dubbo-consumer.md", - "link": "/zh-cn/docs/user/references/xml/dubbo-consumer.html", - "meta": {} - }, - { - "filename": "dubbo-method.md", - "link": "/zh-cn/docs/user/references/xml/dubbo-method.html", - "meta": {} - }, - { - "filename": "dubbo-module.md", - "link": "/zh-cn/docs/user/references/xml/dubbo-module.html", - "meta": {} - }, - { - "filename": "dubbo-monitor.md", - "link": "/zh-cn/docs/user/references/xml/dubbo-monitor.html", - "meta": {} - }, - { - "filename": "dubbo-parameter.md", - "link": "/zh-cn/docs/user/references/xml/dubbo-parameter.html", - "meta": {} - }, - { - "filename": "dubbo-protocol.md", - "link": "/zh-cn/docs/user/references/xml/dubbo-protocol.html", - "meta": {} - }, - { - "filename": "dubbo-provider.md", - "link": "/zh-cn/docs/user/references/xml/dubbo-provider.html", - "meta": {} - }, - { - "filename": "dubbo-reference.md", - "link": "/zh-cn/docs/user/references/xml/dubbo-reference.html", - "meta": {} - }, - { - "filename": "dubbo-registry.md", - "link": "/zh-cn/docs/user/references/xml/dubbo-registry.html", - "meta": {} - }, - { - "filename": "dubbo-service.md", - "link": "/zh-cn/docs/user/references/xml/dubbo-service.html", - "meta": {} - }, - { - "filename": "introduction.md", - "link": "/zh-cn/docs/user/references/xml/introduction.html", - "meta": {} - }, - { - "filename": "rest.md", - "link": "/zh-cn/docs/user/rest.html", - "meta": { - "title": "在 Dubbo 中开发 REST 风格的远程调用(RESTful Remoting)", - "keywords": "RESTful Remoting, REST", - "description": "在 Dubbo 中开发 REST 风格的远程调用" - } - }, - { - "filename": "serialization.md", - "link": "/zh-cn/docs/user/serialization.html", - "meta": {} - }, - { - "filename": "simple-monitor.md", - "link": "/zh-cn/docs/user/simple-monitor.html", - "meta": {} - }, - { - "filename": "index.md", - "link": "/zh-cn/docs/user/versions/index.html", - "meta": {} - }, - { - "filename": "version-270.md", - "link": "/zh-cn/docs/user/versions/version-270.html", - "meta": {} - } - ] -} \ No newline at end of file