You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by wa...@apache.org on 2019/08/13 13:41:10 UTC

[dubbo-website] 03/03: delete static files

This is an automated email from the ASF dual-hosted git repository.

wangxin pushed a commit to branch ecology-page
in repository https://gitbox.apache.org/repos/asf/dubbo-website.git

commit e592751f62e557d8d1ab842dea3c9a7b83bd7107
Author: Xin Wang <xi...@gmail.com>
AuthorDate: Tue Aug 13 21:40:44 2019 +0800

    delete static files
---
 index.html        |   33 -
 md_json/blog.json |  771 --------------------
 md_json/docs.json | 2110 -----------------------------------------------------
 3 files changed, 2914 deletions(-)

diff --git a/index.html b/index.html
deleted file mode 100644
index 9dd7634..0000000
--- a/index.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-	<meta charset="UTF-8">
-</head>
-<body>
-  <!-- 添加Apache校验项开始 -->
-  <!-- 只加a标签和img标签,不要有其余的标签出现,同时设置style="display: none" -->
-  <a style="display: none" href="http://www.apache.org/events/current-event">Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the comp [...]
-  <img style="display: none" src="http://dubbo.apache.org/img/apache_logo.png"/>
-  <ul style="display: none">
-    <p class="header">ASF</p>
-    <li><a href="http://www.apache.org">Foundation</a></li>
-    <li><a href="http://www.apache.org/licenses/">License</a></li>
-    <li><a href="http://www.apache.org/events/current-event">Events</a></li>
-    <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
-    <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
-  </ul>
-  <p style="display: none">Copyright © 2018 The Apache Software Foundation. Apache and the Apache feather logo are trademarks of The Apache Software Foundation.</p>
-  <a style="display: none" href="http://www.apache.org/security/">Security</a>
-  <!-- 添加Apache校验项结束 -->
-  <script src="//cdn.jsdelivr.net/npm/js-cookie@2/src/js.cookie.min.js"></script>
-	<script>
-    window.rootPath = '';
-    window.defaultLanguage = 'en-us';
-    var lang = Cookies.get('docsite_language');
-    if (!lang) {
-      lang = 'en-us';
-    }
-    window.location = window.rootPath + '/' + lang;
-  </script>
-</body>
-</html>
\ No newline at end of file
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 e356d32..0000000
--- a/md_json/docs.json
+++ /dev/null
@@ -1,2110 +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": "config-center.md",
-      "link": "/zh-cn/docs/dev/impls/config-center.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": "environment-variables.md",
-      "link": "/zh-cn/docs/user/configuration/environment-variables.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