You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by je...@apache.org on 2018/09/05 00:56:36 UTC

[incubator-dubbo-website] branch asf-site updated: add title, keywords, descriptions to English blogs (#132)

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

jerrick pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/incubator-dubbo-website.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 9792980  add title, keywords, descriptions to English blogs (#132)
9792980 is described below

commit 979298047a779cc1d3edafd4ecc6029e74999574
Author: Song Kun <so...@gmail.com>
AuthorDate: Wed Sep 5 08:56:33 2018 +0800

    add title, keywords, descriptions to English blogs (#132)
---
 blog/en-us/dubbo-101.md                            |  6 ++++
 blog/en-us/dubbo-annotation.md                     |  6 ++++
 ...bbo-basic-usage-dubbo-provider-configuration.md |  8 ++++-
 blog/en-us/dubbo-generic-invoke.md                 |  6 ++++
 blog/en-us/dubbo-invoke.md                         |  5 +++
 blog/en-us/dubbo-k8s.md                            | 36 +++++++++++---------
 blog/en-us/dubbo-loadbalance.md                    |  8 +++--
 blog/en-us/dubbo-meetup-beijing-may-12th-2018.md   |  6 ++++
 blog/en-us/dubbo-meetup-shanghai-jun-23rd-2018.md  |  6 ++++
 blog/en-us/dubbo-new-async.md                      |  9 ++++-
 blog/en-us/dubbo-zk.md                             |  6 ++++
 blog/en-us/dubbo2-js.md                            | 10 +++++-
 blog/en-us/introduction-to-dubbo-qos.md            |  6 ++++
 blog/en-us/introduction-to-dubbo-spi-2.md          |  6 ++++
 blog/en-us/introduction-to-dubbo-spi.md            |  8 ++++-
 blog/en-us/pinpoint.md                             |  6 ++++
 blog/en-us/prepare-an-apache-release.md            |  5 +++
 blog/en-us/sentinel-introduction-for-dubbo.md      |  6 ++++
 .../en-us/spring-boot-dubbo-start-stop-analysis.md |  6 ++++
 blog/en-us/tracing-with-skywalking.md              | 28 ++++++++++++++++
 blog/zh-cn/dubbo-k8s.md                            | 38 ++++++++++++----------
 blog/zh-cn/dubbo-meetup-shanghai-jun-23rd-2018.md  |  6 ++++
 blog/zh-cn/dubbo-meetup-shenzhen.md                |  6 ++++
 blog/zh-cn/introduction-to-dubbo-spi-2.md          |  1 +
 .../zh-cn/spring-boot-dubbo-start-stop-analysis.md |  1 +
 blog/zh-cn/tracing-with-skywalking.md              |  1 +
 docs/zh-cn/user/demos/explicit-target.md           |  2 +-
 docs/zh-cn/user/maturity.md                        |  2 +-
 28 files changed, 198 insertions(+), 42 deletions(-)

diff --git a/blog/en-us/dubbo-101.md b/blog/en-us/dubbo-101.md
index 2a4f2dc..01e6937 100644
--- a/blog/en-us/dubbo-101.md
+++ b/blog/en-us/dubbo-101.md
@@ -1,3 +1,9 @@
+---
+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.
+---
+
 # Your First Dubbo Demo
 
 ## Java RMI Introduction
diff --git a/blog/en-us/dubbo-annotation.md b/blog/en-us/dubbo-annotation.md
index 4ab206e..6e90411 100644
--- a/blog/en-us/dubbo-annotation.md
+++ b/blog/en-us/dubbo-annotation.md
@@ -1,3 +1,9 @@
+---
+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`.
+---
+
 # Use Annotations In Dubbo
 
 With the widely promotion and implementation of Microservices Architecture, the Microservices Architecture represented by Spring Boot and Spring Cloud, in Java ecosystem, introduced some brand new programming model, like:
diff --git a/blog/en-us/dubbo-basic-usage-dubbo-provider-configuration.md b/blog/en-us/dubbo-basic-usage-dubbo-provider-configuration.md
index 8f0d26b..f674e08 100644
--- a/blog/en-us/dubbo-basic-usage-dubbo-provider-configuration.md
+++ b/blog/en-us/dubbo-basic-usage-dubbo-provider-configuration.md
@@ -1,4 +1,10 @@
-Dubbo Basic Usage-Dubbo Provider Configuration
+---
+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.
+---
+
+Dubbo Basic Usage -- Dubbo Provider Configuration
 ---
 
 # Dubbo Basic Usage
diff --git a/blog/en-us/dubbo-generic-invoke.md b/blog/en-us/dubbo-generic-invoke.md
index 98f7fbf..5d8f0b1 100644
--- a/blog/en-us/dubbo-generic-invoke.md
+++ b/blog/en-us/dubbo-generic-invoke.md
@@ -1,3 +1,9 @@
+---
+title: Generic invoke of Dubbo
+keywords: Dubbo, Generic invoke
+description: This article introduces you when and how to use generic invoke of Dubbo.
+---
+
 # Generic invoke of Dubbo
 
 The generic invoke could be considered to be used in the following cases:
diff --git a/blog/en-us/dubbo-invoke.md b/blog/en-us/dubbo-invoke.md
index ab51e2d..56422dd 100644
--- a/blog/en-us/dubbo-invoke.md
+++ b/blog/en-us/dubbo-invoke.md
@@ -1,3 +1,8 @@
+---
+title: Dubbo: Several ways about synchronous/asynchronous invoke
+keywords: Dubbo, Invoke, Async
+description: This article introduces you how to use Dubbo synchronously or asynchronously.
+---
 
 # Dubbo: Several ways about synchronous/asynchronous invoke
 
diff --git a/blog/en-us/dubbo-k8s.md b/blog/en-us/dubbo-k8s.md
index 287414c..32fb5dc 100644
--- a/blog/en-us/dubbo-k8s.md
+++ b/blog/en-us/dubbo-k8s.md
@@ -1,7 +1,13 @@
+---
+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.
+---
+
 # General goal
 
-Dubbo's provider don't care about service registration.Open its Dubbo service port,the declaration and publishment of the service will be executed by kubernetes.
-Dubbo's consumer directly discovers the corresponding service endpoints of kubernetes during service discovery procedure, thereby reusing Dubbo's existing microservice channel capabilities.The benefit is that there is no need to rely on any third-party soft-loaded registry and it can be seamlessly integrated into the multi-tenant security system of kubernetes. Reference demo : [https://github.com/dubbo/dubbo-kubernetes](https://github.com/dubbo/dubbo-kubernetes)
+Dubbo's provider don't care about service registration.Open its Dubbo service port,the declaration and publishment of the service will be executed by Kubernetes.
+Dubbo's consumer directly discovers the corresponding service endpoints of Kubernetes during service discovery procedure, thereby reusing Dubbo's existing microservice channel capabilities.The benefit is that there is no need to rely on any third-party soft-loaded registry and it can be seamlessly integrated into the multi-tenant security system of Kubernetes. Reference demo : [https://github.com/dubbo/dubbo-ubernetes](https://github.com/dubbo/dubbo-Kubernetes)
 
 # Introduction
 
@@ -62,33 +68,33 @@ We will know the existing solution, Dubbo integrates the Clould Native Equipment
 
 # T<span data-type="color" style="color:rgb(51, 51, 51)"><span data-type="background" style="background-color:rgb(255, 255, 255)">hought</span></span>/Plan
 
-Kubernetes is a natural address registration center for microservices, similar to zookeeper, VIPserver and Configserver used internally by Alibaba. Specifically, the Pod in kubernetes is a running instance of the application. The scheduled deployment/start/stop of the Pod will call the API-Server service to maintain its state to ETCD. The service in kubernetes is coresponded to the concept of the microservices defined as follows.
+Kubernetes is a natural address registration center for microservices, similar to zookeeper, VIPserver and Configserver used internally by Alibaba. Specifically, the Pod in Kubernetes is a running instance of the application. The scheduled deployment/start/stop of the Pod will call the API-Server service to maintain its state to ETCD. The service in Kubernetes is coresponded to the concept of the microservices defined as follows.
 
 > A Kubernetes Service is an abstraction layer which defines a logical set of Pods and enables external traffic exposure, load balancing and service discovery for those Pods.
 
-In conclusion, the kubernetes service has the following characteristics:
+In conclusion, the Kubernetes service has the following characteristics:
 
-* Each Service has a unique name and corresponding IP. IP is automatically assigned by kubernetes and the name is defined by the developer.
+* Each Service has a unique name and corresponding IP. IP is automatically assigned by Kubernetes and the name is defined by the developer.
 * Service IP has several manifestations: ClusterIP, NodePort, LoadBalance and Ingress. ClusterIP is mainly used for intra-cluster communication; NodePort, Ingress and LoadBalance, which are used to expose services to access portals outside the cluster.
 
-At first sight, the service of kubernetes has its own IP, while under the original fixed mindset: Dubbo/HSF service is aggregated by the IP of the entire service cluster, that means, kubernetes and Dubbo/HSF look like something different in natural, but when carefully thinking, the difference becomes insignificant. Because the only IP under kubernetes is just a Virtural IP--VIP, behind the vip are multiple endpoints, which is the factual processing node.
+At first sight, the service of Kubernetes has its own IP, while under the original fixed mindset: Dubbo/HSF service is aggregated by the IP of the entire service cluster, that means, Kubernetes and Dubbo/HSF look like something different in natural, but when carefully thinking, the difference becomes insignificant. Because the only IP under Kubernetes is just a Virtural IP--VIP, behind the vip are multiple endpoints, which is the factual processing node.
 
-Here we only discuss the situation that the Dubbo service in the cluster is accessed in the same kubernetes cluster, As for the provider outside kubernetes to access the provider in kubernetes, since it involves the problem of network address space, and it usually requires GateWay/loadbalance for mapping conversion, which there not detail discussion for this case. Besides, there are two options available for kubernetes:
+Here we only discuss the situation that the Dubbo service in the cluster is accessed in the same Kubernetes cluster, As for the provider outside Kubernetes to access the provider in Kubernetes, since it involves the problem of network address space, and it usually requires GateWay/loadbalance for mapping conversion, which there not detail discussion for this case. Besides, there are two options available for Kubernetes:
 
-1. DNS: The default kubernetes service is based on the DNS plugin (The latest version of the recommendation is coreDNS), one proposal on Dubbo is about this.  since HSF/Dubbo has always highlighted its soft-load address discovery capability, it ignores Static's strategy insteadily, my understanding is that as a service discovery mechanism, the static resolution mechanism is one of the simplest and most needed to support mechanism, you can also refer to Envoy's point of views. While at th [...]
+1. DNS: The default Kubernetes service is based on the DNS plugin (The latest version of the recommendation is coreDNS), one proposal on Dubbo is about this.  since HSF/Dubbo has always highlighted its soft-load address discovery capability, it ignores Static's strategy insteadily, my understanding is that as a service discovery mechanism, the static resolution mechanism is one of the simplest and most needed to support mechanism, you can also refer to Envoy's point of views. While at th [...]
 
    ![img](https://img.alicdn.com/tfs/TB1Kj1ktpkoBKNjSZFEXXbrEVXa-985-213.png)
 
-2. API:DNS relies on the DNS plugin, which will generate additional operation, so consider directly obtaining the endpoint through the client of kubernetes. In fact, by accessing the API server interface of kubernetes, you can directly obtain the list of endpoints behind a certain servie, and can also monitor the changes in its address list. Thereby implementing the soft load discovery strategy recommended by Dubbo/HSF. Refer to the code for details:
+2. API:DNS relies on the DNS plugin, which will generate additional operation, so consider directly obtaining the endpoint through the client of Kubernetes. In fact, by accessing the API server interface of Kubernetes, you can directly obtain the list of endpoints behind a certain servie, and can also monitor the changes in its address list. Thereby implementing the soft load discovery strategy recommended by Dubbo/HSF. Refer to the code for details:
 
 The above two thoughts need to consider the following two points:
 
-1. Kubernetes and Dubbo are consistent with the mapping name of service. Dubbo's service is determined by serviename, group, version to determine its uniqueness, and servicename generally has a longer package name for its service interface. Need to map the servie name of kubernetes and the service name of dubbo. Either add a property like SOFA to define it. This is a big change, but it is most reasonable. Or it is a fixed rule to reference the deployed environment variables, which can be [...]
+1. Kubernetes and Dubbo are consistent with the mapping name of service. Dubbo's service is determined by serviename, group, version to determine its uniqueness, and servicename generally has a longer package name for its service interface. Need to map the servie name of Kubernetes and the service name of dubbo. Either add a property like SOFA to define it. This is a big change, but it is most reasonable. Or it is a fixed rule to reference the deployed environment variables, which can be [...]
 2. Port problem:The default Pod and Pod network interoperability is solved, need to be validated.
 
 ## Demo Verification
 
-The following is a demo deployment through kubernetes service in Alibaba Cloud's Container Registry and   EDAS. Visit Alibaba Cloud -》Container Registry.
+The following is a demo deployment through Kubernetes service in Alibaba Cloud's Container Registry and   EDAS. Visit Alibaba Cloud -》Container Registry.
 
 1. Create repo and bind the github codebase. As shown below.
 
@@ -103,13 +109,13 @@ The following is a demo deployment through kubernetes service in Alibaba Cloud's
 
 
 
-3. Switch to Enterprise Distributed Application Services (EDAS) products panel, visit Resource Management -》Clusters. Create kubernetes cluster and bind ECS. As shown below.
+3. Switch to Enterprise Distributed Application Services (EDAS) products panel, visit Resource Management -> Clusters. Create Kubernetes cluster and bind ECS. As shown below.
 
    ![img](https://img.alicdn.com/tfs/TB1b1p2trZnBKNjSZFKXXcGOVXa-1858-833.png)
 
 
 
-4. Application Management - 》Create  application, type kubernetes application and specify the image in the container registry . As shown below.
+4. Application Management -> Create  application, type Kubernetes application and specify the image in the container registry . As shown below.
 
    ![img](https://img.alicdn.com/tfs/TB1_YywtDCWBKNjSZFtXXaC3FXa-1737-588.png)
 
@@ -127,10 +133,10 @@ The following is a demo deployment through kubernetes service in Alibaba Cloud's
 
 - When creating an app, after selecting the image, the next button cannot be clicked and you need to click Choose to continue.
 
-- EDAS has two independent kubernetes services, one based on Alibaba Cloud's container service, and one set by Lark. I experience the latter.
+- EDAS has two independent Kubernetes services, one based on Alibaba Cloud's container service, and one set by Lark. I experience the latter.
 
 - The development joint of Docker and IDE integration, you need to consider the relevant plug-ins for integrating IDEA.
 
-- There is always an error in deployment, maybe there is a problem with the kubernetes service. Need further investigation.
+- There is always an error in deployment, maybe there is a problem with the Kubernetes service. Need further investigation.
 
 {"kind":"Pod","namespace":"lzumwsrddf831iwarhehd14zh2-default","name":"dubbo-k8s-demo-610694273-jq238","uid":"12892e67-8bc8-11e8-b96a-00163e02c37b","apiVersion":"v1","resourceVersion":"850282769"},"reason":"FailedSync","message":"Error syncing pod","
diff --git a/blog/en-us/dubbo-loadbalance.md b/blog/en-us/dubbo-loadbalance.md
index 9501680..6ff42c7 100644
--- a/blog/en-us/dubbo-loadbalance.md
+++ b/blog/en-us/dubbo-loadbalance.md
@@ -1,9 +1,11 @@
-
+---
+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.
+---
 
 # Dubbo's Load Balance
 
-
-
 ## Background
 
 Dubbo is a distributed service framework that avoids single point of failure and horizontal expansion of support services. A service typically deploys multiple instances. How to select a call from a cluster of multiple service providers involves a load balancing strategy.
diff --git a/blog/en-us/dubbo-meetup-beijing-may-12th-2018.md b/blog/en-us/dubbo-meetup-beijing-may-12th-2018.md
index 4370f63..8c4a1e5 100644
--- a/blog/en-us/dubbo-meetup-beijing-may-12th-2018.md
+++ b/blog/en-us/dubbo-meetup-beijing-may-12th-2018.md
@@ -1,3 +1,9 @@
+---
+title: The first Dubbo meetup has been held in Beijing
+keywords: Dubbo, Beijing, meetup
+description: The first Dubbo meetup has been held in Beijing
+---
+
 The first Dubbo meetup has been held in Beijing
 ---
 
diff --git a/blog/en-us/dubbo-meetup-shanghai-jun-23rd-2018.md b/blog/en-us/dubbo-meetup-shanghai-jun-23rd-2018.md
index 842a697..d519617 100644
--- a/blog/en-us/dubbo-meetup-shanghai-jun-23rd-2018.md
+++ b/blog/en-us/dubbo-meetup-shanghai-jun-23rd-2018.md
@@ -1,3 +1,9 @@
+---
+title: Dubbo Shanghai meetup has been held successfully
+keywords: Dubbo, Shanghai, meetup
+description: Dubbo Shanghai meetup has been held successfully
+---
+
 Dubbo Shanghai meetup has been held successfully
 ---
 
diff --git a/blog/en-us/dubbo-new-async.md b/blog/en-us/dubbo-new-async.md
index c5c8bc7..bc44cd7 100644
--- a/blog/en-us/dubbo-new-async.md
+++ b/blog/en-us/dubbo-new-async.md
@@ -1,4 +1,11 @@
-# How to implement a fully asynchronous calls chain based on Dubbo.
+---
+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.
+---
+
+
+# How to implement a fully asynchronous calls chain based on Dubbo
 
 Implementing the full asynchronous programming based on Dubbo, which is a new feature introduced in version 2.7.0 after the enhancement of the existing asynchronous mode.This article first reviews the supported functions and existing problems of asynchronization in 2.6.x and earlier versions, and introduces the targeted enhancements based on CompletableFuture in version 2.7.0. Then, the use of enhanced asynchronous programming is elaborated through several examples. Finally, it summarize [...]
 
diff --git a/blog/en-us/dubbo-zk.md b/blog/en-us/dubbo-zk.md
index 855e0cf..ca240ec 100644
--- a/blog/en-us/dubbo-zk.md
+++ b/blog/en-us/dubbo-zk.md
@@ -1,3 +1,9 @@
+---
+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.
+---
+
 # Using Zookeeper in Dubbo
 
 ## Introduction of Zookeeper
diff --git a/blog/en-us/dubbo2-js.md b/blog/en-us/dubbo2-js.md
index dbd9ec1..f020ad5 100644
--- a/blog/en-us/dubbo2-js.md
+++ b/blog/en-us/dubbo2-js.md
@@ -1,8 +1,16 @@
+---
+title: Implementation of cross-language calls by Dubbo2.js
+keywords: Dubbo, 跨语言, Node, NodeJS, js
+description: This article introduces how to use Dubbo.js to implement cross-language calls.
+---
+
+
+# Implementation of cross-language calls by Dubbo2.js
 
-# Implementation of cross-language calls by dubbo2.js
 > [dubbo2.js](https://github.com/dubbo/dubbo2.js) is a Dubbo client for node.js developped by [Qianmiwang](https://www.qianmi.com/). It supports Dubbo's native protocol, which makes the RPC calls between javascript and java efficient and agile. This tool has been contributed to Dubbo's community.
 
 ## Cross-language calls for micro service
+
 Nowadays, Internet architecture tends to be micro-service way. The discussions about micro-service architecture becomes the most mentioned topic in different technical conferences. In China, most of the companies, such as Qianmiwang, choose Dubbo as their micro-servie architecture solution. As most of the internet companies, Qianmiwang uses various of programming languages. Java is for most of the backend services. Each business based on these backend can choose its own programming langu [...]
 
   - Spring cloud. Spring cloud provides a set of components for micro-service development. It is based on HTTP protocol and is designed in the restful way, which makes it support cross-language calls. Other languages can call the services simply by implementing an HTTP interface.
diff --git a/blog/en-us/introduction-to-dubbo-qos.md b/blog/en-us/introduction-to-dubbo-qos.md
index a126cef..eb5c722 100644
--- a/blog/en-us/introduction-to-dubbo-qos.md
+++ b/blog/en-us/introduction-to-dubbo-qos.md
@@ -1,3 +1,9 @@
+---
+title: Manipulating Services Dynamically via QoS
+keywords: Dubbo, qos
+description: This article introduces how to use Dubbo's QoS to achieve dynamic configuration.
+---
+
 # Manipulating Services Dynamically via QoS
 
 QoS (short form of **Quality of Service**), is a common terminology talking about network devices. For example, by adjusting and manipulating the weights of ports of a router dynamically via QoS, engineers could give priority to services running on these ports and make sure these services' quality and reliability.
diff --git a/blog/en-us/introduction-to-dubbo-spi-2.md b/blog/en-us/introduction-to-dubbo-spi-2.md
index 9787035..9d7946c 100644
--- a/blog/en-us/introduction-to-dubbo-spi-2.md
+++ b/blog/en-us/introduction-to-dubbo-spi-2.md
@@ -1,3 +1,9 @@
+---
+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.
+---
+
 # Dubbo extensible mechanism source code analysis
 ---
 
diff --git a/blog/en-us/introduction-to-dubbo-spi.md b/blog/en-us/introduction-to-dubbo-spi.md
index 7b67de3..b074ab1 100644
--- a/blog/en-us/introduction-to-dubbo-spi.md
+++ b/blog/en-us/introduction-to-dubbo-spi.md
@@ -1,4 +1,10 @@
-# Instance for Dubbo Extension Mechanism
+---
+title: Dubbo Extension Mechanism in Action
+keywords: Dubbo, SPI
+description: This article introduces Dubbo's SPI mechanism.
+---
+
+# Dubbo Extension Mechanism in Action
 
 ## 1. Extension Mechanism of Dubbo
 
diff --git a/blog/en-us/pinpoint.md b/blog/en-us/pinpoint.md
index de40574..a537f32 100644
--- a/blog/en-us/pinpoint.md
+++ b/blog/en-us/pinpoint.md
@@ -1,3 +1,9 @@
+---
+title: Tracking with Pinpoint
+keywords: Dubbo, Pinpoint, tracing
+description: This article introduces how to use Pinpoint to track Dubbo applications and monitor applications' performance.
+---
+
 # Tracking with Pinpoint
 
 After using Dubbo to serve or integrate applications, assuming that a service backstage log shows an exception and that the service is invoked by multiple applications, it is often difficult to determine which application is called, and what is the cause of the problem, so we need a set of distributed tracking systems to quickly locate the problem. Pinpoint can help us quickly locate problems (of course, there are more than one solution).
diff --git a/blog/en-us/prepare-an-apache-release.md b/blog/en-us/prepare-an-apache-release.md
index 8fc4ef6..8f0c9ed 100644
--- a/blog/en-us/prepare-an-apache-release.md
+++ b/blog/en-us/prepare-an-apache-release.md
@@ -1,3 +1,8 @@
+---
+title: Understanding the Apache Release Cycle
+keywords: Dubbo, Apache, Release
+---
+
 ## Understanding the Apache Release Cycle
 
 In general, Source Release is the key and the required content of Apache. But Binary Release is optional, Dubbo can choose whether to release binary packages to the Apache repository or to the Maven central repository.
diff --git a/blog/en-us/sentinel-introduction-for-dubbo.md b/blog/en-us/sentinel-introduction-for-dubbo.md
index de91f8d..b9a6149 100644
--- a/blog/en-us/sentinel-introduction-for-dubbo.md
+++ b/blog/en-us/sentinel-introduction-for-dubbo.md
@@ -1,3 +1,9 @@
+---
+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.
+---
+
 # Sentinel: The flow sentinel of Dubbo services
 
 In large clusters there may be thousands of Dubbo service instances in production, with continuous traffic coming in. However, in distributed systems, some services may be unavailable due to various of failure such as traffic surge, high system load, and network latency. If no control actions are performed, this may cause cascading failure, affecting the availability of the service. So we need a powerful library - Sentinel, which can guarantee the stability of the service, to protect the [...]
diff --git a/blog/en-us/spring-boot-dubbo-start-stop-analysis.md b/blog/en-us/spring-boot-dubbo-start-stop-analysis.md
index 531f771..8f50d28 100644
--- a/blog/en-us/spring-boot-dubbo-start-stop-analysis.md
+++ b/blog/en-us/spring-boot-dubbo-start-stop-analysis.md
@@ -1,3 +1,9 @@
+---
+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 `incubator-dubbo-spring-boot-project`.
+---
+
 # Source code analysis of spring-boot+Dubbo App start and stop
 
 ## Introduction
diff --git a/blog/en-us/tracing-with-skywalking.md b/blog/en-us/tracing-with-skywalking.md
index c58cc60..3844702 100644
--- a/blog/en-us/tracing-with-skywalking.md
+++ b/blog/en-us/tracing-with-skywalking.md
@@ -1,20 +1,34 @@
+---
+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.
+---
+
 # Tracing Dubbo service with Apache Skywalking(incubator)
+
 ## Introduction to Apache Skywalking(Incubator)
+
 [Apache Skywalking(Incubator)](https://github.com/apache/incubator-skywalking)  is the APM system that it designed for micro-services architectures and cloud native architecture systems and supports distribute tracking. [Apache skywalking (incubator)](https://github.com/apache/incubator-skywalking) collects and analyzes the trace data and generates the relationship between the application and the service metric, Apache skywalking (incubating) supports multiple languages agent, for exampl [...]
 
 Currently, Skywalking has supported analysis the operation of distributed systems from 6 visual dimensions. The overview view is a global view of your applications and components, including the number of components and applications, application alarm fluctuations, slow service lists, and application throughput; The topology shows the topological relationship of the whole application; The application view represents the upstream and downstream relationship of the application from single a [...]
 
 ## Dubbo and Apache Skywalking(Incubator)
+
 ### Build the Dubbo demo  project
+
 The Dubbo demo has been uploaded to the [GitHub repository](https://github.com/SkywalkingTest/dubbo-trace-example). 
+
 #### API project
+
 Service interface definition:
 package org.apache.skywalking.demo.interfaces;
 
 public interface HelloService {
 	String sayHello(String name);
 }
+
 #### Service provider project
+
 package org.apache.skywalking.demo.provider;
 
 @Service(version = "${demo.service.version}",
@@ -29,7 +43,9 @@ public class HelloServiceImpl implements HelloService {
 	}
 
 }
+
 #### Service consumer project
+
 package org.apache.skywalking.demo.consumer;
 
 @RestController
@@ -51,12 +67,18 @@ public class ConsumerController {
 		return helloService.sayHello(name);
 	}
 }
+
 ### Deploy Apache Skywalking(incubator)
+
 [Apache skywalking (Incubator)](https://github.com/apache/incubator-skywalking) offers  two deployment modes: single-node mode and cluster mode,Here is  the single-node mode deployment step, and more about how to deploy skywalking with cluster mode, please reference [document](https://github.com/apache/incubator-skywalking/blob/master/docs/en/Deploy-backend-in-cluster-mode.md).
+
 #### Third-party components
+
 1. JDK 8+
 2. Elasticsearch 5.x
+
 #### Deployment step
+
 1. Download [Apache Skywalking Collector](http://skywalking.apache.org/downloads/)
 2. Deploy Elasticsearch service
    * Set `cluster.name` to `CollectorDBCluster`
@@ -65,6 +87,7 @@ public class ConsumerController {
 3. Unzip and start the Skywalking Collector. Run the ' bin/startup.sh ' command to start skywalking Collector 
 
 #### Deploy the demo
+
 Before you deploy the demo service, please run the following command:
 
 ```
@@ -92,12 +115,15 @@ curl http://localhost:8080/sayHello/test
 ## Skywalking scren snapshot
 
 ### Dashboard
+
 ![/admin-guide/images/skywalking-dashboard.png](../../img/blog/skywalking-dashboard.png)
 
 ### Topology
+
 ![/admin-guide/images/skywalking-topology.png](../../img/blog/skywalking-topology.png)
 
 ### Application view
+
 ![/admin-guide/images/skywalking-application.png](../../img/blog/skywalking-application.png)
 
 JVM Information
@@ -112,10 +138,12 @@ provider side
 ![/admin-guide/images/skywalking-service-provider.png](../../img/blog/skywalking-service-provider.png)
 
 ### Trace
+
 ![/admin-guide/images/skywalking-trace.png](../../img/blog/skywalking-trace.png)
 
 Span info
 ![/admin-guide/images/skywalking-span-Info.png](../../img/blog/skywalking-span-Info.png)
 
 ### Alarm view
+
 ![/admin-guide/images/skywalking-alarm.png](../../img/blog/skywalking-alarm.png)
diff --git a/blog/zh-cn/dubbo-k8s.md b/blog/zh-cn/dubbo-k8s.md
index cb44a3b..be14eb5 100644
--- a/blog/zh-cn/dubbo-k8s.md
+++ b/blog/zh-cn/dubbo-k8s.md
@@ -1,14 +1,14 @@
 ---
 title: Dubbo与Kubernetes集成
 keywords: Dubbo, Kubernetes, K8S
-description: 本文主要尝试将Dubbo服务注册到Kubernetes,同时无缝融入kubernetes的多租户安全体系。
+description: 本文主要尝试将Dubbo服务注册到Kubernetes,同时无缝融入Kubernetes的多租户安全体系。
 ---
 
 # Dubbo与Kubernetes集成
 
 ## 大体目标
 
-Dubbo的provider不再关心服务注册的事宜,只需要把其Dubbo服务端口打开,由kubernetes来进行服务的声明和发布;Dubbo的consumer在服务发现时直接发现kubernetes的对应服务endpoints,从而复用Dubbo已有的微服务通道能力。好处是无需依赖三方的软负载注册中心;同时无缝融入kubernetes的多租户安全体系。Demo的代码参照: https://github.com/dubbo/dubbo-kubernetes
+Dubbo的provider不再关心服务注册的事宜,只需要把其Dubbo服务端口打开,由Kubernetes来进行服务的声明和发布;Dubbo的consumer在服务发现时直接发现kubernetes的对应服务endpoints,从而复用Dubbo已有的微服务通道能力。好处是无需依赖三方的软负载注册中心;同时无缝融入Kubernetes的多租户安全体系。Demo的代码参照: https://github.com/dubbo/dubbo-kubernetes
 
 ## 闲谈
 
@@ -19,64 +19,66 @@ Kubernates是建立在扩展性的具备二次开发的功能层次丰富的体
 - 在基础资源(主要是抽象底层IaaS的资源)和应用层的抽象模型之上是治理层,包含弹性扩容,命名空间/租户,等。当然,基于其原子内核的基础能力,在Kubernetes的核心之上搭建统一的日志中心和全方位监控等服务是水到渠成的,CNCF更是有其认定推荐。
 
 来张Kubernetes Architecture的一张图解释下上述描述。在2018年Kubernetes往事实的paas底座的标配迈出质的一步,有人说原因在于基于扩展的二次开发能力,有人说在于其声明式编程和背靠Google和Redhat的强大社区运作,我觉得回归本质是在于下图中的**Layered架构和其问题域的领域建模抽象**。
+
 ![img](../../img/blog/k8s/1.png)
 
 以微服务架构视角,Kubernetes在一定意义上是微服务框架(这时较叫微服务平台或toolkit集更合适),支持微服务的服务发现/注册的基本能力。借用如下图做一个简单描述。
+
 ![img](../../img/blog/k8s/2.jpeg)
 
 话题再展开一下,微服务领域涉及众多问题,大概可以用下图说明。
+
 ![img](../../img/blog/k8s/3.jpeg)
-kubernetes解决得只是少部分,而像动态路由,稳定性控制(断路器,隔水舱等),分布式服务追踪等是个空白,这也就是servicemesh要解决的,是在CNCF的Trail Map占有重要一席;当然Dubbo是基本具备完备的微服务,也就是使得其集成到k8s体系下具有相当的意义。Dubbo在serviemesh中基于sidecar的方案是解决跨语言诉求的通用servicemesh方案,需要新开一个话题来展开说;而引用serviemsh的原始定义:
+
+Kubernetes解决得只是少部分,而像动态路由,稳定性控制(断路器,隔水舱等),分布式服务追踪等是个空白,这也就是servicemesh要解决的,是在CNCF的Trail Map占有重要一席;当然Dubbo是基本具备完备的微服务,也就是使得其集成到k8s体系下具有相当的意义。Dubbo在serviemesh中基于sidecar的方案是解决跨语言诉求的通用servicemesh方案,需要新开一个话题来展开说;而引用serviemsh的原始定义:
 
 > A service mesh is a dedicated infrastructure layer for handling service-to-service communication. It’s responsible for the reliable delivery of requests through the complex topology of services that comprise a modern, cloud native application. 
 
 > 首先服务网格是一个云原生环境下基础设施层,功能在于处理服务间通信,职责是负责实现请求的可靠传递,被使得被监控跟踪,被治理,最终使得微服务架构被赋予高可控的稳定性和快速的问题定位排查能力。
 
-可以得出现有Dubbo集成云原生基础设施kubernetes的基础能力而并解决微服务相关核心问题也算是一种狭义上的servicemesh方案,只是是Java领域的罢了;当玩笑理解也行,哈哈。
+可以得出现有Dubbo集成云原生基础设施Kubernetes的基础能力而并解决微服务相关核心问题也算是一种狭义上的servicemesh方案,只是是Java领域的罢了;当玩笑理解也行,哈哈。
 
 ## 思路/方案
 
-kubernetes是天然可作为微服务的地址注册中心,类似于zookeeper, 阿里巴巴内部用到的VIPserver,Configserver。 具体来说,kubernetes中的Pod是对于应用的运行实例,Pod的被调度部署/启停都会调用API-Server的服务来保持其状态到ETCD;kubernetes中的service是对应微服务的概念,定义如下
-
+Kubernetes是天然可作为微服务的地址注册中心,类似于Zookeeper, 阿里巴巴内部用到的VIPserver,Configserver。 具体来说,Kubernetes中的Pod是对于应用的运行实例,Pod的被调度部署/启停都会调用API-Server的服务来保持其状态到ETCD;Kubernetes中的service是对应微服务的概念,定义如下
 
 > A Kubernetes Service is an abstraction layer which defines a logical set of Pods and enables external traffic exposure, load balancing and service discovery for those Pods.
 
-
-概括来说kubernetes service具有如下特点
+概括来说Kubernetes service具有如下特点
 
 - 每个Service都有一个唯一的名字,及对应IP。IP是kubernetes自动分配的,名字是开发者自己定义的。
 - Service的IP有几种表现形式,分别是ClusterIP,NodePort,LoadBalance,Ingress。 ClusterIP主要用于集群内通信;NodePort,Ingress,LoadBalance用于暴露服务给集群外的访问入口。
 
-乍一看,kubernetes的service都是唯一的IP,在原有的Dubbo/HSF固定思维下:Dubbo/HSF的service是由整个服务集群的IP聚合而成,貌似是有本质区别的,细想下来差别不大,因为kubernetes下的唯一IP只是一个VIP,背后挂在了多个endpoint,那才是事实上的处理节点。此处只讨论集群内的Dubbo服务在同一个kubernetes集群内访问;至于kubernetes外的consumer访问kubernetes内的provider,涉及到网络地址空间的问题,一般需要GateWay/loadbalance来做映射转换,不展开讨论。针对kubernetes内有两种方案可选: :
+乍一看,Kubernetes的service都是唯一的IP,在原有的Dubbo/HSF固定思维下:Dubbo/HSF的service是由整个服务集群的IP聚合而成,貌似是有本质区别的,细想下来差别不大,因为Kubernetes下的唯一IP只是一个VIP,背后挂在了多个endpoint,那才是事实上的处理节点。此处只讨论集群内的Dubbo服务在同一个kubernetes集群内访问;至于kubernetes外的consumer访问kubernetes内的provider,涉及到网络地址空间的问题,一般需要GateWay/loadbalance来做映射转换,不展开讨论。针对Kubernetes内有两种方案可选: :
 
-1. DNS: 默认kubernetes的service是靠DNS插件(最新版推荐是coreDNS), Dubbo上有个proposal是关于这个的。我的理解是static resolution的机制是最简单最需要支持的一种service discovery机制,具体也可以参考Envoy在此的观点,由于HSF/Dubbo一直突出其软负载的地址发现能力,反而忽略Static的策略。同时蚂蚁的SOFA一直是支持此种策略,那一个SOFA工程的工程片段做一个解释。这样做有两个好处,1)当软负载中心crash不可用造成无法获取地址列表时,有一定的机制Failover到此策略来处理一定的请求。 2)在LDC/单元化下,蚂蚁的负载中心集群是机房/区域内收敛部署的,首先保证软负载中心的LDC化了进而稳定可控,当单元需要请求中心时,此VIP的地址发现就排上用场了。
+1. DNS: 默认Kubernetes的service是靠DNS插件(最新版推荐是coreDNS), Dubbo上有个proposal是关于这个的。我的理解是static resolution的机制是最简单最需要支持的一种service discovery机制,具体也可以参考Envoy在此的观点,由于HSF/Dubbo一直突出其软负载的地址发现能力,反而忽略Static的策略。同时蚂蚁的SOFA一直是支持此种策略,那一个SOFA工程的工程片段做一个解释。这样做有两个好处,1)当软负载中心crash不可用造成无法获取地址列表时,有一定的机制Failover到此策略来处理一定的请求。 2)在LDC/单元化下,蚂蚁的负载中心集群是机房/区域内收敛部署的,首先保证软负载中心的LDC化了进而稳定可控,当单元需要请求中心时,此VIP的地址发现就排上用场了。
 
 ![img](https://img.alicdn.com/tfs/TB1Kj1ktpkoBKNjSZFEXXbrEVXa-985-213.png)
 
-2. API:DNS是依靠DNS插件进行的,相当于额外的运维开销,所以考虑直接通过kubernetes的client来获取endpoint。事实上,通过访问kubernetes的API server接口是可以直接获取某个servie背后的endpoint列表,同时可以监听其地址列表的变化。从而实现Dubbo/HSF所推荐的软负载发现策略。具体可以参考代码:
+2. API:DNS是依靠DNS插件进行的,相当于额外的运维开销,所以考虑直接通过kubernetes的client来获取endpoint。事实上,通过访问Kubernetes的API server接口是可以直接获取某个servie背后的endpoint列表,同时可以监听其地址列表的变化。从而实现Dubbo/HSF所推荐的软负载发现策略。具体可以参考代码:
 
 以上两种思路都需要考虑以下两点:
 
-1. kubernetes和Dubbo对于service的名字是映射一致的。Dubbo的服务是由serviename,group,version三个来确定其唯一性,而且servicename一般其服务接口的包名称,比较长。需要映射kubernetes的servie名与dubbo的服务名。要么是像SOFA那样增加一个属性来进行定义,这是个大的改动,但最合理;要么是通过固定规则来引用部署的环境变量,可用于快速验证。
+1. Kubernetes和Dubbo对于service的名字是映射一致的。Dubbo的服务是由serviename,group,version三个来确定其唯一性,而且servicename一般其服务接口的包名称,比较长。需要映射Kubernetes的servie名与dubbo的服务名。要么是像SOFA那样增加一个属性来进行定义,这是个大的改动,但最合理;要么是通过固定规则来引用部署的环境变量,可用于快速验证。
 2. 端口问题:默认Pod与Pod的网络互通算是解决了,需要验证。
 
 ## Demo验证
 
-下面通过阿里云的容器镜像服务和EDAS中的kubernetes服务来做一次Demo部署。访问阿里云-》容器镜像服务。
+下面通过阿里云的容器镜像服务和EDAS中的Kubernetes服务来做一次Demo部署。访问阿里云 -> 容器镜像服务。
 
 1. 创建镜像仓库并绑定github代码库。如下图
 
 ![img](https://img.alicdn.com/tfs/TB1m.tEtrorBKNjSZFjXXc_SpXa-1892-870.png)
 
-2. 点击管理***进行创建好的仓库***,通过镜像服务下的构建功能,把demo构建成image,并发布到指定仓库。如下图。
+2. 点击管理 **进行创建好的仓库**,通过镜像服务下的构建功能,把demo构建成image,并发布到指定仓库。如下图。
 
 ![img](https://img.alicdn.com/tfs/TB1oYqvtcIrBKNjSZK9XXagoVXa-1872-888.png)
 
-3. 切换到企业级分布式应用服务(EDAS)产品,在资源管理 - 》集群 下创建kubernetes集群并绑定ECS,如下图.
+3. 切换到企业级分布式应用服务(EDAS)产品,在资源管理 -> 集群 下创建Kubernetes集群并绑定ECS,如下图.
 
 ![img](https://img.alicdn.com/tfs/TB1b1p2trZnBKNjSZFKXXcGOVXa-1858-833.png)
 
-4. 应用管理 -》创建应用,***类型为kubernetes应用*** 并且指定在容器镜像服务中的镜像。如下图。
+4. 应用管理 -》创建应用,**类型为kubernetes应用** 并且指定在容器镜像服务中的镜像。如下图。
 
 ![img](https://img.alicdn.com/tfs/TB1b1p2trZnBKNjSZFKXXcGOVXa-1858-833.png)
 
@@ -90,10 +92,10 @@ kubernetes是天然可作为微服务的地址注册中心,类似于zookeeper
 
 - 在创建应用时,选中镜像后,下一步的按钮无法点击,需要点击选择来继续。
 
-- EDAS有两套独立的kubernetes服务,一套是基于阿里云的容器服务,一套是Lark自己搞的。本人体验的是后者。
+- EDAS有两套独立的Kubernetes服务,一套是基于阿里云的容器服务,一套是Lark自己搞的。本人体验的是后者。
 
 - Docker与IDE集成的开发联调,需要考虑集成IDEA的相关插件。
 
-- 部署时总是出错,感觉kubernetes服务上哪里有问题。需要进一步排查。
+- 部署时总是出错,感觉Kubernetes服务上哪里有问题。需要进一步排查。
 
   {"kind":"Pod","namespace":"lzumwsrddf831iwarhehd14zh2-default","name":"dubbo-k8s-demo-610694273-jq238","uid":"12892e67-8bc8-11e8-b96a-00163e02c37b","apiVersion":"v1","resourceVersion":"850282769"},"reason":"FailedSync","message":"Error syncing pod","
\ No newline at end of file
diff --git a/blog/zh-cn/dubbo-meetup-shanghai-jun-23rd-2018.md b/blog/zh-cn/dubbo-meetup-shanghai-jun-23rd-2018.md
index 612f285..99566f8 100644
--- a/blog/zh-cn/dubbo-meetup-shanghai-jun-23rd-2018.md
+++ b/blog/zh-cn/dubbo-meetup-shanghai-jun-23rd-2018.md
@@ -1,3 +1,9 @@
+---
+title: 第二届Dubbo开发者沙龙在上海成功举办
+keywords: Dubbo, 上海, meetup
+description: 第二届Dubbo开发者沙龙在上海成功举办。
+---
+
 # 第二届Dubbo开发者沙龙在上海成功举办
 
 
diff --git a/blog/zh-cn/dubbo-meetup-shenzhen.md b/blog/zh-cn/dubbo-meetup-shenzhen.md
index 7c14e41..23c40ca 100644
--- a/blog/zh-cn/dubbo-meetup-shenzhen.md
+++ b/blog/zh-cn/dubbo-meetup-shenzhen.md
@@ -1,3 +1,9 @@
+---
+title: 第三届Dubbo开发者沙龙在深圳成功举办
+keywords: Dubbo, 深圳, meetup
+description: 第三届Dubbo开发者沙龙在深圳成功举办。
+---
+
 # 第三届Dubbo开发者沙龙在深圳成功举办
 
 
diff --git a/blog/zh-cn/introduction-to-dubbo-spi-2.md b/blog/zh-cn/introduction-to-dubbo-spi-2.md
index c89b1df..1cff7f9 100644
--- a/blog/zh-cn/introduction-to-dubbo-spi-2.md
+++ b/blog/zh-cn/introduction-to-dubbo-spi-2.md
@@ -1,6 +1,7 @@
 ---
 title: Dubbo可扩展机制源码解析
 keywords: Dubbo, SPI, 源码分析
+description: 本文介绍了SPI扩展机制的实现原理与细节。
 ---
 
 # Dubbo可扩展机制源码解析
diff --git a/blog/zh-cn/spring-boot-dubbo-start-stop-analysis.md b/blog/zh-cn/spring-boot-dubbo-start-stop-analysis.md
index 765eca3..db0d9ad 100644
--- a/blog/zh-cn/spring-boot-dubbo-start-stop-analysis.md
+++ b/blog/zh-cn/spring-boot-dubbo-start-stop-analysis.md
@@ -1,6 +1,7 @@
 ---
 title: Spring Boot Dubbo应用启停源码分析
 keywords: Dubbo, Spring Boot, 源码分析
+description: 本文分析 `incubator-dubbo-spring-boot-project` 中 Dubbo 启停源码的实现原理。
 ---
 
 # Spring Boot Dubbo应用启停源码分析
diff --git a/blog/zh-cn/tracing-with-skywalking.md b/blog/zh-cn/tracing-with-skywalking.md
index 8c3629f..314c297 100644
--- a/blog/zh-cn/tracing-with-skywalking.md
+++ b/blog/zh-cn/tracing-with-skywalking.md
@@ -1,6 +1,7 @@
 ---
 title: 使用Apache Skywalking (Incubator) 做分布式跟踪
 keywords: Dubbo, Skywalking, tracing, 分布式跟踪
+description: 本文介绍如何使用 Apache Skywalking 对 Dubbo 应用做分布式链路追踪。
 ---
 
 # 使用Apache Skywalking (Incubator) 做分布式跟踪
diff --git a/docs/zh-cn/user/demos/explicit-target.md b/docs/zh-cn/user/demos/explicit-target.md
index c8ca0bb..3f7fede 100644
--- a/docs/zh-cn/user/demos/explicit-target.md
+++ b/docs/zh-cn/user/demos/explicit-target.md
@@ -1,6 +1,6 @@
 # 直连提供者
 
-在开发及测试环境下,经常需要绕过注册中心,只测试指定服务提供者,这时候可能需要点对点直连,点对点直联方式,将以服务接口为单位,忽略注册中心的提供者列表,A 接口配置点对点,不影响 B 接口从注册中心获取列表。
+在开发及测试环境下,经常需要绕过注册中心,只测试指定服务提供者,这时候可能需要点对点直连,点对点直连方式,将以服务接口为单位,忽略注册中心的提供者列表,A 接口配置点对点,不影响 B 接口从注册中心获取列表。
 
 ![/user-guide/images/dubbo-directly.jpg](../sources/images/dubbo-directly.jpg)
 
diff --git a/docs/zh-cn/user/maturity.md b/docs/zh-cn/user/maturity.md
index abfc8ff..9d093dd 100644
--- a/docs/zh-cn/user/maturity.md
+++ b/docs/zh-cn/user/maturity.md
@@ -34,7 +34,7 @@
 | -------- |---------|---------|---------|---------|---------|
 |Zookeeper注册中心 | Stable | 支持基于网络的集群方式,有广泛周边开源产品,建议使用dubbo-2.3.3以上版本(推荐使用) | 依赖于Zookeeper的稳定性 | 可用于生产环境 |  |
 |Redis注册中心 | Stable | 支持基于客户端双写的集群方式,性能高 | 要求服务器时间同步,用于检查心跳过期脏数据 | 可用于生产环境 |  |
-|Multicast注册中心 | Tested | 去中心化,不需要安装注册中心 | 依赖于网络拓普和路由,跨机房有风险 | 小规模应用或开发测试环境 |  |
+|Multicast注册中心 | Tested | 去中心化,不需要安装注册中心 | 依赖于网络拓扑和路由,跨机房有风险 | 小规模应用或开发测试环境 |  |
 |Simple注册中心 | Tested | Dogfooding,注册中心本身也是一个标准的RPC服务 | 没有集群支持,可能单点故障 | 试用 |  |
 |Feature | Maturity | Strength | Problem | Advise | User|
 |Simple监控中心 | Stable | 支持JFreeChart统计报表 | 没有集群支持,可能单点故障,但故障后不影响RPC运行 | 可用于生产环境 |  |