You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@apisix.apache.org by ju...@apache.org on 2021/09/25 23:27:27 UTC

[apisix-website] branch master updated: docs: update blog and delete events (#625)

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

juzhiyuan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/apisix-website.git


The following commit(s) were added to refs/heads/master by this push:
     new f1e051337 docs: update blog and delete events (#625)
f1e051337 is described below

commit f1e051337d5b00aeda41b13c44cde2c879e4d7da
Author: yilinzeng <36...@users.noreply.github.com>
AuthorDate: Sun Sep 26 07:27:19 2021 +0800

    docs: update blog and delete events (#625)
---
 ...-how-to-build-gateway-based-on-apache-apisix.md |   2 +-
 ...-12-16-another-way-to-implement-envoy-filter.md |   2 +-
 ...12-18-a-first-look-at-kubernetes-service-api.md |   2 +-
 ...na-Data-Security-and-Privacy-Protection-Team.md |   2 +-
 .../2021-01-21-run-ingress-apisix-on-amazon-eks.md |   2 +-
 ...1-02-08-stable-product-delivery-with-cypress.md |   2 +-
 ...02-26-install-apache-apisix-from-helm-charts.md |   2 +-
 ...-02-get-front-end-test-coverage-with-cypress.md |   7 +-
 ...ic-split-in-apache-apisix-ingress-controller.md | 191 ---------------------
 website/blog/2021-05-24-Tencent-Games.md           |   2 +-
 ...255\243\345\274\217\345\217\221\345\270\203.md" |   2 +-
 ...255\243\345\274\217\345\274\200\346\272\220.md" |  56 ------
 ...xperience-share-from-Apache-APISIX-committer.md |   2 +-
 website/blog/2021-06-06-apisix-two-years.md        |   2 +-
 ...-APISIX-not-affected-by-NGINX-CVE-2021-23017.md |   2 +-
 ...ache-APISIX-and-Envoy-performance-comparison.md |   6 +-
 ...s-Mesh-helps-Apache-APISIX-improve-stability.md |   2 +-
 ...ss-Control-Bypass-Vulnerability-Announcement.md |   2 +-
 ...of-Apache-APISIX-Ingress-Controller-released.md |   2 +-
 ...6-21-use-Java-to-write-Apache-APISIX-plugins.md |   2 +-
 ...n-source-gateway-and-ingress-controller-fast.md |   2 +-
 .../blog/2021-06-28-why-we-need-Apache-APISIX.md   |   2 +-
 .../2021-06-29-release-apache-apisix-2.7-en.md     |   4 +-
 .../blog/2021-06-29-release-apache-apisix-2.7.md   |   2 +-
 ...21-06-30-etcd3-support-HTTP-access-perfectly.md |   2 +-
 .../blog/2021-07-06-celebrate-200-contributors.md  |   4 +-
 ...ina-Weibo-API-gateway-based-on-Apache-APISIX.md |   2 +-
 ...7-16-Analyze-Apache-APISIX-Mesh-Agent-deeply.md |  98 -----------
 .../blog/2021-07-21-Apache-APISIX-Kubernetes.md    |   2 +-
 website/blog/2021-07-25-apachecon-asia.md          |   2 +-
 ...use-of-plugin-orchestration-in-Apache-APISIX.md |   2 +-
 .../2021-07-28-release-apache-apisix-2.8-en.md     |   4 +-
 .../blog/2021-07-28-release-apache-apisix-2.8.md   |   2 +-
 website/blog/2021-08-05-Kong-to-APISIX.md          |   2 +-
 ...apisix-to-improve-the-observability-of-nginx.md |   2 +-
 ...21-08-09-Apache-APISIX-in-China-Mobile-Cloud.md |   2 +-
 .../blog/2021-08-09-Apache-APISIX-in-Quliankeji.md |   2 +-
 website/blog/2021-08-10-apisix-nginx.md            |   2 +-
 website/blog/2021-08-11-interview-TuZhengsong.md   |   2 +-
 ...Helps-Apache-APISIX-Improve-System-Stability.md |   2 +-
 ...-the-golden-metric-of-openSource-projects-en.md |   2 +-
 ...ors-the-golden-metric-of-openSource-projects.md |   2 +-
 ...onnect-Plugin-for-Centralized-Authentication.md |   2 +-
 website/blog/2021-08-17-interview-airwallex.md     |   2 +-
 ...2021-08-18-Auth-with-Casbin-in-Apache-APISIX.md |   2 +-
 .../2021-08-19-go-makes-Apache-APISIX-better.md    |   2 +-
 .../{events => blog}/2021-08-19-weekly-report.md   |   3 +
 .../{events => blog}/2021-08-21-shanghai-meetup.md |   4 +-
 .../2021-08-23-ApacheCon-Asia-2021.md              |   7 +-
 .../{events => blog}/2021-08-23-weekly-report.md   |   3 +
 website/blog/2021-08-24-shanghai-meetup-recap.md   |   2 +-
 ...2021-08-25-Auth-with-Casbin-in-Apache-APISIX.md |   2 +-
 ...onnect-Plugin-for-Centralized-Authentication.md |   2 +-
 ...-08-25-Why-Apache-APISIX-chose-Nginx-and-Lua.md |   2 +-
 .../blog/2021-08-27-release-apache-apisix-2.9.md   |   2 +-
 website/blog/2021-08-30-Ingress-Meeting.md         |   2 +-
 .../{events => blog}/2021-08-30-weekly-report.md   |   2 +-
 ...a-better-gateway-and-K8S-Ingress-Controller.md" |   2 +-
 ...s-you-quickly-with-Apache-APISIX-development.md |   2 +-
 website/blog/2021-09-07-how-to-use-apisix-auth.md  |   2 +-
 website/blog/2021-09-07-iQIYI-usercase.md          |   2 +-
 ...o-contribute-to-an-OpenSource-without-coding.md |   2 +-
 .../blog/2021-09-13-china-mobile-cloud-usercase.md |   2 +-
 website/blog/2021-09-14-youzan.md                  |   2 +-
 website/blog/2021-09-15-weekly-report.md           |   2 +-
 website/blog/2021-09-16-tencent-cloud.md           |   2 +-
 website/blog/2021-09-18-xiaodian-usercase.md       |   2 +-
 website/docusaurus.config.js                       |   4 -
 ...lease-apache-apisix-ingress-controller-0.1.0.md |  24 ---
 ...lease-apache-apisix-ingress-controller-0.2.0.md |  22 ---
 .../events/2021-02-09-release-apache-apisix-2.3.md |  41 -----
 ...lease-apache-apisix-ingress-controller-0.3.0.md |  25 ---
 ...21-02-12-release-apache-apisix-dashboard-2.4.md |  48 ------
 .../events/2021-03-05-release-apache-apisix-2.4.md |  33 ----
 ...lease-apache-apisix-ingress-controller-0.4.0.md |  19 --
 .../events/2021-04-05-release-apache-apisix-2.5.md |  34 ----
 ...-04-13-release-apisix-ingress-controller-0.5.md |  33 ----
 ...21-04-22-release-apache-apisix-dashboard-2.6.md |  47 -----
 .../events/2021-05-24-release-apache-apisix-2.6.md |  45 -----
 ...-05-27-release-apache-apisix-dashboard-2.6.1.md |  20 ---
 ...21-06-15-release-apache-apisix-dashboard-2.7.md |  42 -----
 .../events/2021-06-25-release-apache-apisix-2.7.md |  44 -----
 website/src/pages/index.js                         |   4 +-
 website/static/data/events.json                    |  22 ++-
 84 files changed, 106 insertions(+), 898 deletions(-)

diff --git a/website/blog/2020-12-11-beike-how-to-build-gateway-based-on-apache-apisix.md b/website/blog/2020-12-11-beike-how-to-build-gateway-based-on-apache-apisix.md
index 5a471f8..20ea856 100644
--- a/website/blog/2020-12-11-beike-how-to-build-gateway-based-on-apache-apisix.md
+++ b/website/blog/2020-12-11-beike-how-to-build-gateway-based-on-apache-apisix.md
@@ -8,7 +8,7 @@ keywords:
 - Kong
 - Nginx
 description: 贝壳找房使用 Apache APISIX 作为生产系统的 API 网关,每天处理过亿的生产流量,性能优异,而且很稳定。正好 Apache APISIX 刚刚加入 Apache 孵化器,除了恭喜之外,我想来分享下贝壳找房当初为什么选择 Apache APISIX,以及使用过程中的一些心得。
-tags: [technology, practical case]
+tags: [User Case]
 ---
 
 > 本文讲述了贝壳找房当初为什么选择 Apache APISIX 作为API 网关,以及使用过程中的一些心得。
diff --git a/website/blog/2020-12-16-another-way-to-implement-envoy-filter.md b/website/blog/2020-12-16-another-way-to-implement-envoy-filter.md
index 539d9f6..48d3770 100644
--- a/website/blog/2020-12-16-another-way-to-implement-envoy-filter.md
+++ b/website/blog/2020-12-16-another-way-to-implement-envoy-filter.md
@@ -9,7 +9,7 @@ keywords:
 - Apache APISIX
 - Envoy
 description: Envoy is an L7 proxy and communication bus designed for large modern service oriented architectures. A pluggable filter chain mechanism allows filters to be written to perform different tasks and inserted into the main server.
-tags: [technology]
+tags: [Technology]
 ---
 
 > This article explains how to run Apache APISIX plugins in Envoy.
diff --git a/website/blog/2020-12-18-a-first-look-at-kubernetes-service-api.md b/website/blog/2020-12-18-a-first-look-at-kubernetes-service-api.md
index d1b1c28..438526b 100644
--- a/website/blog/2020-12-18-a-first-look-at-kubernetes-service-api.md
+++ b/website/blog/2020-12-18-a-first-look-at-kubernetes-service-api.md
@@ -9,7 +9,7 @@ keywords:
 - Apache APISIX
 - Kubernetes Service APIs
 description: 本文通过提问的方式,对 Kubernetes Service APIs 做了一些基本介绍,从整体来看,Kubernetes Service APIs 提炼了很多 ingress 的最佳实践,比如表达能力的增强,其实就是扩展了 Route 的能力,再比如 BackendPolicy 对象,可以为 upstream 指定几乎所有的 Kubernetes 后端资源。
-tags: [technology]
+tags: [Technology]
 ---
 
 > 本文通过提问的方式,对 Kubernetes Service APIs 做了一些基本介绍,从整体来看,Kubernetes Service APIs 提炼了很多 ingress 的最佳实践,比如表达能力的增强,其实就是扩展了 Route 的能力,再比如 BackendPolicy 对象,可以为 upstream 指定几乎所有的 Kubernetes 后端资源。
diff --git a/website/blog/2021-01-11-interview-Apache-APISIX-contributor-Wang-Pengcheng-Senior-Security-Advisor-of-PwC-South-China-Data-Security-and-Privacy-Protection-Team.md b/website/blog/2021-01-11-interview-Apache-APISIX-contributor-Wang-Pengcheng-Senior-Security-Advisor-of-PwC-South-China-Data-Security-and-Privacy-Protection-Team.md
index 99f70b5..1183cff 100644
--- a/website/blog/2021-01-11-interview-Apache-APISIX-contributor-Wang-Pengcheng-Senior-Security-Advisor-of-PwC-South-China-Data-Security-and-Privacy-Protection-Team.md
+++ b/website/blog/2021-01-11-interview-Apache-APISIX-contributor-Wang-Pengcheng-Senior-Security-Advisor-of-PwC-South-China-Data-Security-and-Privacy-Protection-Team.md
@@ -10,7 +10,7 @@ keywords:
 - 普华永道
 - 漏洞
 description: 近日,来自普华永道华南数据安全及隐私保护团队的高级安全顾问王鹏诚向国家信息安全漏洞共享平台(CNVD)和 Apache 软件基金会,报告了 Apache APISIX 的第一个 CVE:Apache APISIX Admin API 默认 Token 漏洞(CVE-2020-13945)。为了感谢鹏诚对 Apache APISIX 社区做的贡献,我们也特意对鹏诚进行了专访。
-tags: [security, news]
+tags: [Interview]
 ---
 
 > 近日,来自普华永道华南数据安全及隐私保护团队的高级安全顾问王鹏诚向国家信息安全漏洞共享平台(CNVD)和 Apache 软件基金会,报告了 Apache APISIX 的第一个 CVE:Apache APISIX Admin API 默认 Token 漏洞(CVE-2020-13945)。为了感谢鹏诚对 Apache APISIX 社区做的贡献,我们也特意对鹏诚进行了专访。
diff --git a/website/blog/2021-01-21-run-ingress-apisix-on-amazon-eks.md b/website/blog/2021-01-21-run-ingress-apisix-on-amazon-eks.md
index 94fd429..9753ac8 100644
--- a/website/blog/2021-01-21-run-ingress-apisix-on-amazon-eks.md
+++ b/website/blog/2021-01-21-run-ingress-apisix-on-amazon-eks.md
@@ -10,7 +10,7 @@ keywords:
 - Ingress
 - Amazon EKS
 description: Amazon EKS provides flexibility to start, run, and scale Kubernetes applications in the AWS cloud or on-premises. This article explains how to run Ingress APISIX on it.This article explains how to run Ingress APISIX on Amazon EKS.
-tags: [technology, practical case]
+tags: [Practical Case]
 ---
 
 > Amazon EKS provides flexibility to start, run, and scale Kubernetes applications in the AWS cloud or on-premises. This article explains how to run Ingress APISIX on it.This article explains how to run Ingress APISIX on Amazon EKS.
diff --git a/website/blog/2021-02-08-stable-product-delivery-with-cypress.md b/website/blog/2021-02-08-stable-product-delivery-with-cypress.md
index 6af3f39..a5991d0 100644
--- a/website/blog/2021-02-08-stable-product-delivery-with-cypress.md
+++ b/website/blog/2021-02-08-stable-product-delivery-with-cypress.md
@@ -9,7 +9,7 @@ keywords:
 - Apache APISIX
 - Helm Chart
 description: This article explains how Yi Sun, GitHub ID [@LiteSun](https://github.com/LiteSun), Apache APISIX Committer from [Shenzhen Zhiliu Technology Co.](https://www.apiseven.com/), implements stable product delivery with Cypress.
-tags: [technology]
+tags: [Technology]
 ---
 
 > This article explains how Yi Sun, GitHub ID [@LiteSun](https://github.com/LiteSun), became Apache APISIX Committer from [Shenzhen Zhiliu Technology Co.](https://www.apiseven.com/), implements stable product delivery with Cypress.
diff --git a/website/blog/2021-02-26-install-apache-apisix-from-helm-charts.md b/website/blog/2021-02-26-install-apache-apisix-from-helm-charts.md
index f0a9560..38cb046 100644
--- a/website/blog/2021-02-26-install-apache-apisix-from-helm-charts.md
+++ b/website/blog/2021-02-26-install-apache-apisix-from-helm-charts.md
@@ -9,7 +9,7 @@ keywords:
 - Apache APISIX
 - Helm Chart
 description: A few days ago, Zhiliu Inc released an online Helm Charts repository. Users can easily install Apache APISIX, Apache apisix-dashboard and Apache apisix-ingress-controller from it (rather than cloning the corresponding project in advance).
-tags: [technology, practical case]
+tags: [Practical Case]
 ---
 
 > A few days ago, [Shenzhen Zhiliu Technology Co.](https://www.apiseven.com/) released an online Helm Charts repository. Users can easily install Apache APISIX, Apache apisix-dashboard and Apache apisix-ingress-controller from it (rather than cloning the corresponding project in advance).
diff --git a/website/blog/2021-03-02-get-front-end-test-coverage-with-cypress.md b/website/blog/2021-03-02-get-front-end-test-coverage-with-cypress.md
index 523fe02..3b907fc 100644
--- a/website/blog/2021-03-02-get-front-end-test-coverage-with-cypress.md
+++ b/website/blog/2021-03-02-get-front-end-test-coverage-with-cypress.md
@@ -3,7 +3,12 @@ title: "Get Front-End Test Coverage with Cypress"
 author: "Yi Sun"
 authorURL: "https://github.com/LiteSun"
 authorImageURL: "https://avatars.githubusercontent.com/u/31329157?s=400&u=e81b4bb4db2be162c1fcac6d188f5b0f82f71920&v=4"
-tags: [technology]
+keywords:
+- APISIX
+- Apache APISIX
+- API Gateway
+- Cypress
+tags: [Technology]
 ---
 
 > In the article ["Stable Product Delivery with Cypress"](/blog/2021/02/08/stable-product-delivery-with-cypress), we discussed why we chose Cypress as our E2E testing framework. After spending nearly two months refining the test cases, we needed test coverage to quantify whether the test coverage was sufficient.This article will describe how to get APISIX Dashboard front-end E2E coverage using Cypress.
diff --git a/website/blog/2021-03-27-traffic-split-in-apache-apisix-ingress-controller.md b/website/blog/2021-03-27-traffic-split-in-apache-apisix-ingress-controller.md
deleted file mode 100644
index 3741219..0000000
--- a/website/blog/2021-03-27-traffic-split-in-apache-apisix-ingress-controller.md
+++ /dev/null
@@ -1,191 +0,0 @@
----
-title: "Traffic Split in Apache APISIX Ingress Controller"
-author: "Chao Zhang"
-authorURL: "https://github.com/tokers"
-authorImageURL: "https://avatars.githubusercontent.com/u/10428333?s=460&u=f48ef50c5621a1616a3ede50221547e34270e061&v=4"
-keywords:
-- API Gateway
-- APISIX
-- Apache APISIX
-- Traffic Split
-- Ingress Controller
-description: Traffic Split is a feature that splits and deliveries traffic to multiple backend services. Solutions like API Gateway and Service Mesh are capable of doing traffic splitting and implement functionalities like Canary Release and Blue-Green Deployment.
-tags: [technology, practical case]
----
-
-> Traffic Split is a feature that splits and deliveries traffic to multiple backend services. Solutions like API Gateway and Service Mesh are capable of doing traffic splitting and implement functionalities like Canary Release and Blue-Green Deployment.
-
-<!--truncate-->
-
-> Source: https://www.apiseven.com/en/blog/traffic-split-in-apache-apisix-ingress-controller
->
-Traffic Split is a feature that splits and deliveries traffic to multiple backend services. Solutions like API Gateway (e.g. [Apache APISIX](http://apisix.apache.org/) and [Traefik](https://traefik.io/)), Service Mesh (e.g. [Istio](https://istio.io/) and [Linkerd](https://linkerd.io/)) are capable of doing traffic splitting and implement functionalities like [Canary Release](https://blog.getambassador.io/cloud-native-patterns-canary-release-1cb8f82d371a) and [Blue-Green Deployment](https [...]
-
-Traffic split is also a key feature in [Ingress Controller](https://kubernetes.io/docs/concepts/services-networking/ingress-controllers/). As the ingress layer in the [Kubernetes](https://kubernetes.io/) cluster, it’s desired to reduce the risk due to release a new version of the application by setting up some traffic split rules in the ingress controller, so only a controllable amount of traffic will be routed to newly released instances. In this article, we’ll introduce the traffic spl [...]
-
-(PS: For the sake of more concise descriptions, we use the term "canary app" to describe the backend service which routed after the canary rules hit, and the term "stable app" to describe the backend service which routed due to the canary rules miss, for instance, the canary and stable app are "foo-canary" and "foo" perspectively in the following diagram.)
-
-![1.png](https://lh6.googleusercontent.com/E_qq-RFIcVBbTFsI8-QTNH7Io5vOXapdQUaAzKE2mYlyvtXUlZEoSd8aVMHAppARmXx9_wgHsgP1CWK_R74MfPV58dLQ71kEcU57DooHKz2LuKb6D6TW9B2_C8rLsm8wHTk2_zZt)
-
-## Ingress Nginx
-
-Ingress Nginx supports the canary release, it’s controlled by an annotation "nginx.ingress.kubernetes.io/canary", and it supports several annotations to customize this feature.
-
-+ nginx.ingress.kubernetes.io/canary-by-header
-
-The destination is decided by whether the value of header (indicated by nginx.ingress.kubernetes.io/canary-by-header), the Canary app will be routed if the value is "always", the otherwise stable app will be routed (value of the header is "never").
-
-+ nginx.ingress.kubernetes.io/canary-by-header-value
-
-This annotation extends nginx.ingress.kubernetes.io/canary-by-header, now the value of the header no longer needs to be "always" or "never".
-
-+ nginx.ingress.kubernetes.io/canary-by-header-pattern
-
-Similar to nginx.ingress.kubernetes.io/canary-by-header, but the value is a [PCRE](https://www.pcre.org/) compatible regular expression.
-
-+ nginx.ingress.kubernetes.io/canary-by-cookie
-
-Use data field in Cookie header to decide the backend service.
-
-+ nginx.ingress.kubernetes.io/canary-weight
-
-Assign weight value between 0 and 100, traffic will be delivered according to this weight, a 0 weight means all traffic will be routed to the canary app and 100 weight will route all traffic to the stable app.
-
-The following YAML snippet proxies requests whose URI path is led by "/get" and the User-Agent matches with the ".*Mozilla.*" pattern to the canary app "foo-canary".
-
-```
-apiVersion: networking.k8s.io/v1beta1
-kind: Ingress
-metadata:
-  annotations:
-      kubernetes.io/ingress.class: nginx
-      nginx.ingress.kubernetes.io/canary: "true"
-      nginx.ingress.kubernetes.io/canary-by-header: "User-Agent"
-      nginx.ingress.kubernetes.io/canary-by-header-pattern:
-".*Mozilla.*"
-  name: ingress-v1beta1
-```
-
-## Kong
-
-The Kong Gateway has a [canary release plugin](https://docs.konghq.com/hub/kong-inc/canary/0.32-x.html) and exposes this plugin to its ingress controller by [KongPlugin](https://docs.konghq.com/hub/) resource. Administrators/Users need to create a KongPlugin object and fill the canary release rule, injecting an annotation "konghq.com/plugins" to the target [Kubernetes Service](https://kubernetes.io/docs/concepts/services-networking/service/). Or you can create a [KongClusterPlugin](https [...]
-
-```
-apiVersion: configuration.konghq.com/v1
-kind: KongPlugin
-metadata:
-  name: foo-canary
-config:
-  percentage: 30
-  upstream_host: foo.com
-  upstream_fallback: false
-  upstream_port: 80
-plugin: canary
----
-apiVersion: v1
-kind: Service
-metadata:
-  name: foo-canary
-  labels:
-    app: foo
-  annotations:
-    konghq.com/plugins: foo-canary
-spec:
-  ports:
-  - port: 80
-    targetPort: 80
-    protocol: TCP
-    name: http
-  selector:
-      app: foo
-      canary: true
-```
-
-The above case marks the service "foo-canary" as "canary", and creates a canary release rule to proxy 30% traffic to this service.
-
-## Apache APISIX
-
-[Apache APISIX](https://apisix.apache.org) splits traffic with custom rules by its [traffic-split](https://apisix.apache.org/docs/apisix/plugins/traffic-split) plugin, and Apache APISIX Ingress Controller implements the traffic split feature to [ApisixRoute](https://apisix.apache.org/docs/ingress-controller/concepts/apisix_route) (as the first-class support, without relying on annotations) by this plugin and the flexible route match abilities in ApisixRoute.
-
-### Weight-Based
-
-By configuring multiple Kubernetes Services, the weight-based canary rule can be applied like:
-
-```
-apiVersion: apisix.apache.org/v2alpha1
-kind: ApisixRoute
-metadata:
-  name: foo-route
-spec:
-  http:
-  - name: rule1
-    match:
-      hosts:
-      - foo.org
-      paths:
-      - /get*
-    backends:
-    - serviceName: foo-canary
-      servicePort: 80
-      weight: 10
-    - serviceName: foo
-      servicePort: 80
-      weight: 5
-```
-
-The above case puts ⅔ requests whose Host is "foo.org" and with URI path prefix "/get" to "foo-canary" service and others to foo.
-
-The weight for canary service can be tiny for the small scale verification, and enlarge the weight by modifying the ApisixRoute until all traffic routed to the canary service, finishing the release totally.
-
-### Rules-Based
-
-The [Exprs](https://github.com/apache/apisix-ingress-controller/blob/master/docs/en/latest/concepts/apisix_route.md#advanced-route-features) field in ApisixRoute allows users to configure custom route match rules, on the other hand, multiple route rules can be grouped into a single ApisixRoute object, so there is a seamless way to implement the rules-based traffic split.
-
-```
-apiVersion: apisix.apache.org/v2alpha1
-kind: ApisixRoute
-metadata:
-  name: foo-route
-spec:
-  http:
-  - name: rule1
-    priority: 1
-    match:
-      hosts:
-      - foo.org
-      paths:
-      - /get*
-    backends:
-    - serviceName: foo
-      servicePort: 80
-  - name: rule2
-    priority: 2
-    match:
-      hosts:
-      - foo.org
-      paths:
-      - /get*
-      exprs:
-      - subject:
-          scope: Query
-          name: id
-        op: In
-        set:
-        - "3"
-        - "13"
-        - "23"
-        - "33"
-    backends:
-    - serviceName: foo-canary
-      servicePort: 80
-```
-
-Requests whose Host is "foo.org", URI path prefix is "/get" will be separated into two parts:
-
-+ The id parameter which value is 3, 13, 23 or 33 will hit rule2, and forward to foo-canary;
-
-+ Others will hit rule1 and route to foo.
-
-## Summary
-
-Traffic split (Canary release) in Ingress Nginx supports weight-based scheme and header rule-based one, but it relies on annotations, which semantic is weak; The Kong way only supports to configure canary release by weight, the scenarios are somewhat narrow, and the configuring is complicated (you need to configure several resources); In contrast, traffic split in Apache APISIX Ingress Controller is flexible and easy to configure, it works well for both the weight-based and rule-based tr [...]
diff --git a/website/blog/2021-05-24-Tencent-Games.md b/website/blog/2021-05-24-Tencent-Games.md
index 0f81c2f..710965d 100644
--- a/website/blog/2021-05-24-Tencent-Games.md
+++ b/website/blog/2021-05-24-Tencent-Games.md
@@ -8,7 +8,7 @@ keywords:
 - 腾讯游戏
 - 基础设施
 description: 本文整理自腾讯游戏负责内部容器平台的工程师徐鑫在 Apache APISIX Meetup - 深圳站的演讲,通过阅读本文,您不仅可以了解网关是什么、网关模式对传统服务架构的改进,还可以了解腾讯 OTeam 诞生的原因,以及 Apache APISIX 是如何在腾讯内部落地的。
-tags: [technology,practical case]
+tags: [User Case]
 ---
 
 > 本文整理自腾讯游戏负责内部容器平台的工程师徐鑫在 Apache APISIX Meetup - 深圳站的演讲,通过阅读本文,您不仅可以了解网关是什么、网关模式对传统服务架构的改进,还可以了解腾讯 OTeam 诞生的原因,以及 Apache APISIX 是如何在腾讯内部落地的。
diff --git "a/website/blog/2021-05-25-Apache APISIX 2.6.0-Release \346\255\243\345\274\217\345\217\221\345\270\203.md" "b/website/blog/2021-05-25-Apache APISIX 2.6.0-Release \346\255\243\345\274\217\345\217\221\345\270\203.md"
index 1b7b2b0..19eeda2 100644
--- "a/website/blog/2021-05-25-Apache APISIX 2.6.0-Release \346\255\243\345\274\217\345\217\221\345\270\203.md"	
+++ "b/website/blog/2021-05-25-Apache APISIX 2.6.0-Release \346\255\243\345\274\217\345\217\221\345\270\203.md"	
@@ -9,7 +9,7 @@ keywords:
 - Apache APISIX
 - Release Notes
 description: Apache APISIX 2.6.0-Release 正式发布!欢迎大家下载使用。
-tags: [news]
+tags: [Release]
 ---
 
 > Apache APISIX 2.6.0-Release 正式发布!欢迎大家下载使用。
diff --git "a/website/blog/2021-05-31-\345\237\272\344\272\216 Apache APISIX \345\256\236\347\216\260\347\232\204\346\234\215\345\212\241\347\275\221\346\240\274\351\241\271\347\233\256\346\255\243\345\274\217\345\274\200\346\272\220.md" "b/website/blog/2021-05-31-\345\237\272\344\272\216 Apache APISIX \345\256\236\347\216\260\347\232\204\346\234\215\345\212\241\347\275\221\346\240\274\351\241\271\347\233\256\346\255\243\345\274\217\345\274\200\346\272\220.md"
deleted file mode 100644
index 0b040bd..0000000
--- "a/website/blog/2021-05-31-\345\237\272\344\272\216 Apache APISIX \345\256\236\347\216\260\347\232\204\346\234\215\345\212\241\347\275\221\346\240\274\351\241\271\347\233\256\346\255\243\345\274\217\345\274\200\346\272\220.md"	
+++ /dev/null
@@ -1,56 +0,0 @@
----
-title: "基于 Apache APISIX 实现的服务网格项目正式开源"
-author: "张超"
-authorURL: "https://github.com/tokers"
-authorImageURL: "https://avatars.githubusercontent.com/u/10428333?v=4"
-keywords:
-- APISIX
-- Apache APISIX
-- 服务网格
-- Service Mesh
-description: 鉴于 Apache APISIX 的优秀设计,我们不仅可以将 Apache APISIX 用于南北向流量管理,也可以用它管理服务网格的东西向流量,我们通过引入 APISIX-Mesh-Agent 这一组件,配合 Apache APISIX 进行使用,从而使得 Apache APISIX 可以对接业内广泛使用的服务网格控制面,例如: Istio 和 Kuma 等。
-tags: [news, technology]
----
-
-> 鉴于 Apache APISIX 的优秀设计,我们不仅可以将 Apache APISIX 用于南北向流量管理,也可以用它管理服务网格的东西向流量,我们通过引入 APISIX-Mesh-Agent 这一组件,配合 Apache APISIX 进行使用,从而使得 Apache APISIX 可以对接业内广泛使用的服务网格控制面,例如: Istio 和 Kuma 等。
-
-<!--truncate-->
-基于 Apache APISIX 开发的服务网格项目正式开源!欢迎大家下载使用。
-
-## 什么是服务网格
-
-服务网格(Service Mesh),作为服务间通信的中间层,将诸如服务发现、负载均衡、熔断、限流、重试等的基础功能,下沉到一个轻量级的边车(Sidecar)组件,使得应用程序开发者可以更聚焦于应用本身的开发,不需要关注这类基础功能,从而提升开发效率。
-
-## 什么时候需要服务网格
-
-### 案例一
-
-A 公司微服务的技术栈涉及 Go、Java 和 C++ 等不同语言,同时为每种开发语言设计了基础框架,以完成服务治理的功能,然而每次框架的更新都需要覆盖各语言的版本以及联系所有业务开发团队进行更新。并且不同语言的框架由不同团队维护,导致沟通成本高昂且容易出现不兼容情况。
-
-因而 A 公司的架构师决定引入服务网格方案,将所有服务治理的能力下沉到网格,基础功能迭代不再与业务开发耦合,同时业务开发不再依赖开发框架,业务本身更加简洁。
-
-### 案例二
-
-B 公司现有的服务治理框架功能落后,年久失修,因业务发展及合规性等原因,现在需要实现协议转换和双向认证,技术负责人调研以后决定引入服务网格方案,借助网格的能力实现这些功能,同时摆脱现有服务治理框架的历史债,使得所有应用变得更加稳定和轻量。
-
-## 使用 Apache APISIX 搭建服务网格
-
-![2021-05-31-1](../static/img/blog_img/2021-05-31-1.png)
-
-鉴于 Apache APISIX 的优秀设计,我们不仅可以将 Apache APISIX 用于南北向流量管理,也可以用它管理服务网格的东西向流量,我们通过引入 APISIX-Mesh-Agent 这一组件,配合 Apache APISIX 进行使用,从而使得 Apache APISIX 可以对接业内广泛使用的服务网格控制面,例如: Istio 和 Kuma 等。
-
-APISIX-Mesh-Agent 作为 Apache APISIX 的协议适配器,实现了 Envoy xDS 协议,将数据从 xDS 格式转换为 Apache APISIX 兼容的格式。
-
-同时其实现了 ETCD V3 API 使得在 Apache APISIX 看来,它就是一个 ETCD 集群,由于 Apache APISIX 对 ETCD 的原生支持, 配置即可顺利地从某个服务网格控制面下发到 Apache APISIX 。
-
-得益于 Apache APISIX 的良好设计,基于 Apache APISIX 的服务网格方案性能更佳、资源占用更少、二次开发和定制的成本更低(Lua 语言上手容易,且 Apache APISIX 已经支持使用多语言进行插件开发),并且由于兼容 xDS 协议,从 Istio、Kuma 等网格方案进行迁移也更加平滑。
-
-## 下载
-
-下载 APISIX-Mesh-Agent 0.6-Release 源代码及二进制安装包,请访问下载页面。
-`https://github.com/api7/apisix-mesh-agent/releases/tag/0.6`
-
-## 文档更新
-
-在本次发布过程中,我们也在持续更新和发布新的使用文档,欢迎大家提出宝贵的意见。
-`https://github.com/api7/apisix-mesh-agent/tree/main/docs`
diff --git a/website/blog/2021-06-03-experience-share-from-Apache-APISIX-committer.md b/website/blog/2021-06-03-experience-share-from-Apache-APISIX-committer.md
index 7af4a76..792d632 100644
--- a/website/blog/2021-06-03-experience-share-from-Apache-APISIX-committer.md
+++ b/website/blog/2021-06-03-experience-share-from-Apache-APISIX-committer.md
@@ -9,7 +9,7 @@ keywords:
 - 开源社区
 - 经验分享
 description: 本次采访邀请到了 Apache APISIX 的 committer,分享参与开源项目的心得体会
-tags: [technology]
+tags: [Interview]
 ---
 > 本次采访邀请到了去年参加编程之夏的两位同学,两位同学现在都是 Apache APISIX 的 committer,也是今年社区项目的导师
 
diff --git a/website/blog/2021-06-06-apisix-two-years.md b/website/blog/2021-06-06-apisix-two-years.md
index fb6ffb3..9aa8df0 100644
--- a/website/blog/2021-06-06-apisix-two-years.md
+++ b/website/blog/2021-06-06-apisix-two-years.md
@@ -7,7 +7,7 @@ keywords:
 - APISIX
 - opensource
 description: Apache APISIX is now two years old, thanks for all contributors.
-tags: [news]
+tags: [Release]
 ---
 
 > Apache APISIX 开源 2 周年啦!
diff --git a/website/blog/2021-06-07-Apache-APISIX-not-affected-by-NGINX-CVE-2021-23017.md b/website/blog/2021-06-07-Apache-APISIX-not-affected-by-NGINX-CVE-2021-23017.md
index 53f1509..947109e 100644
--- a/website/blog/2021-06-07-Apache-APISIX-not-affected-by-NGINX-CVE-2021-23017.md
+++ b/website/blog/2021-06-07-Apache-APISIX-not-affected-by-NGINX-CVE-2021-23017.md
@@ -8,7 +8,7 @@ keywords:
 - Apache APISIX
 - Security
 description: On May 26, NGINX issued a security announcement that fixed a DNS resolver vulnerability (CVE -2021-23017) in the NGINX resolver.
-tags: [security,news]
+tags: [Security]
 ---
 
 > On May 26, NGINX issued a security announcement that fixed a DNS resolver vulnerability (CVE -2021-23017) in the NGINX resolver.
diff --git a/website/blog/2021-06-10-Apache-APISIX-and-Envoy-performance-comparison.md b/website/blog/2021-06-10-Apache-APISIX-and-Envoy-performance-comparison.md
index 885d64d..7318739 100644
--- a/website/blog/2021-06-10-Apache-APISIX-and-Envoy-performance-comparison.md
+++ b/website/blog/2021-06-10-Apache-APISIX-and-Envoy-performance-comparison.md
@@ -6,8 +6,12 @@ authorImageURL: "https://avatars.githubusercontent.com/u/6814606?v=4"
 keywords: 
 - APISIX
 - Envoy
+- Apache APISIX
+- Service Mesh
+- API Gateway
 - 性能
 description: 本文介绍了在一定条件下,Apache APISIX 和 Envoy 的性能对比,总体来说 APISIX 在响应延迟和 QPS 层面都略优于 Envoy, 由于 NGINX 的多 worker 的协作方式在高并发场景下更有优势,APISIX 在开启多个 worker 进程后性能提升较 Enovy 更为明显;APISIX 在性能和延迟上的表现使它在处理南北向流量上具有海量的吞吐能力,根据自己的业务场景来选择合理的组件配合插件构建自己的服务。
+tags: [Technology]
 ---
 
 > 本文介绍了在一定条件下,Apache APISIX 和 Envoy 的性能对比,总体来说 Apache APISIX 在响应延迟和 QPS 层面都略优于 Envoy,Apache APISIX 在开启多个 worker 进程后性能提升较 Enovy 更为明显;而且 Apache APISIX 在性能和延迟上的表现使它在处理南北向流量上具有海量的吞吐能力。
@@ -20,7 +24,7 @@ description: 本文介绍了在一定条件下,Apache APISIX 和 Envoy 的性
 
 “Envoy 是专为大型现代 SOA(面向服务架构)架构设计的 L7 代理和通信总线”
 
-也就是说, Envoy 是为了解决 Server Mesh 领域而诞生一款 L7 代理软件,这里我网上找了一张图,我理解的 Envoy 大概是如下的部署架构。(如果错了请大佬指教)
+也就是说, Envoy 是为了解决 Service Mesh 领域而诞生一款 L7 代理软件,这里我网上找了一张图,我理解的 Envoy 大概是如下的部署架构。(如果错了请大佬指教)
 
 ![Envoy arch](https://static.apiseven.com/202108/20210617001.png)
 
diff --git a/website/blog/2021-06-16-Chaos-Mesh-helps-Apache-APISIX-improve-stability.md b/website/blog/2021-06-16-Chaos-Mesh-helps-Apache-APISIX-improve-stability.md
index e8cdca6..68a5549 100644
--- a/website/blog/2021-06-16-Chaos-Mesh-helps-Apache-APISIX-improve-stability.md
+++ b/website/blog/2021-06-16-Chaos-Mesh-helps-Apache-APISIX-improve-stability.md
@@ -9,7 +9,7 @@ keywords:
 - Chaos Mesh
 - 稳定性
 description: 本文描述了如何在多种场景下使用 Chaos Mesh,为 Apache APISIX 提升稳定性。
-tags: [technology]
+tags: [Practical Case]
 ---
 
 > 本文描述了如何在多种场景下使用 Chaos Mesh,为 Apache APISIX 提升稳定性。
diff --git a/website/blog/2021-06-17-Apache-APISIX-Dashboard-Access-Control-Bypass-Vulnerability-Announcement.md b/website/blog/2021-06-17-Apache-APISIX-Dashboard-Access-Control-Bypass-Vulnerability-Announcement.md
index 91f0b3e..ac175aa 100644
--- a/website/blog/2021-06-17-Apache-APISIX-Dashboard-Access-Control-Bypass-Vulnerability-Announcement.md
+++ b/website/blog/2021-06-17-Apache-APISIX-Dashboard-Access-Control-Bypass-Vulnerability-Announcement.md
@@ -8,7 +8,7 @@ keywords:
 - Apache APISIX
 - Ingress Controller
 description: Apache APISIX Dashboard 访问控制绕过漏洞公告
-tags: [security]
+tags: [Security]
 ---
 
 > 由于程序通过获取请求头 `X-Forwarded-For` 的值来进行访问控制判断,导致攻击者在调用 API 请求时,只需篡改该请求头即可实现访问控制绕过攻击。
diff --git a/website/blog/2021-06-18-first-GA-version-v1.0-of-Apache-APISIX-Ingress-Controller-released.md b/website/blog/2021-06-18-first-GA-version-v1.0-of-Apache-APISIX-Ingress-Controller-released.md
index 5b7a8c5..8ea699a 100644
--- a/website/blog/2021-06-18-first-GA-version-v1.0-of-Apache-APISIX-Ingress-Controller-released.md
+++ b/website/blog/2021-06-18-first-GA-version-v1.0-of-Apache-APISIX-Ingress-Controller-released.md
@@ -8,7 +8,7 @@ keywords:
 - Apache APISIX
 - Ingress Controller
 description: Apache APISIX Ingress Controller v1.0 正式发布,可支持使用包括 ApisixRoute 和  ApisixUpstream 等自定义资源,以及 Kubernetes 原生 Ingress 资源等控制外部流量访问部署在 Kubernetes 中的服务。
-tags: [news]
+tags: [Release]
 ---
 
 > Apache APISIX Ingress Controller v1.0 正式发布,可支持使用包括 `ApisixRoute`、`ApisixUpstream` 等自定义资源,以及 Kubernetes 原生 Ingress 资源等控制外部流量访问部署在 Kubernetes 中的服务。
diff --git a/website/blog/2021-06-21-use-Java-to-write-Apache-APISIX-plugins.md b/website/blog/2021-06-21-use-Java-to-write-Apache-APISIX-plugins.md
index 364c275..5f07818 100644
--- a/website/blog/2021-06-21-use-Java-to-write-Apache-APISIX-plugins.md
+++ b/website/blog/2021-06-21-use-Java-to-write-Apache-APISIX-plugins.md
@@ -9,7 +9,7 @@ keywords:
 - Java
 - 插件
 description: Apache APISIX 支持多语言编写插件了!不会 Lua 也没关系,现在可以用你熟悉的语言编写插件,文末还有视频教程。
-tags: [technology]
+tags: [Practical Case]
 ---
 
 > Apache APISIX 支持多语言编写插件了!不会 Lua 也没关系,现在可以用你熟悉的语言编写插件,文末还有视频教程。
diff --git a/website/blog/2021-06-23-deploy-great-open-source-gateway-and-ingress-controller-fast.md b/website/blog/2021-06-23-deploy-great-open-source-gateway-and-ingress-controller-fast.md
index 5410bd3..89a7b55 100644
--- a/website/blog/2021-06-23-deploy-great-open-source-gateway-and-ingress-controller-fast.md
+++ b/website/blog/2021-06-23-deploy-great-open-source-gateway-and-ingress-controller-fast.md
@@ -9,7 +9,7 @@ keywords:
 - Helm Chart
 - API 网关
 description: 你可以在 Rancher 中使用 Apache APISIX 的官方 Helm 仓库直接部署 Apache APISIX 和 APISIX Ingress controller。并且 Apache APISIX 可通过作为网关,或者 APISIX Ingress controller 的数据面来承载业务流量。
-tags: [technology]
+tags: [Practical Case]
 ---
 > 你可以在 Rancher 中使用 Apache APISIX 的官方 Helm 仓库直接部署 Apache APISIX 和 APISIX Ingress controller。并且 Apache APISIX 可通过作为网关,或者 APISIX Ingress controller 的数据面来承载业务流量。
 
diff --git a/website/blog/2021-06-28-why-we-need-Apache-APISIX.md b/website/blog/2021-06-28-why-we-need-Apache-APISIX.md
index aacafe3..8274bcf 100644
--- a/website/blog/2021-06-28-why-we-need-Apache-APISIX.md
+++ b/website/blog/2021-06-28-why-we-need-Apache-APISIX.md
@@ -10,7 +10,7 @@ keywords:
 - API 网关
 - 开源
 description: 本文介绍了 Apache APISIX 架构演进历史,对比 Nginx 和 Kong 这两个框架 Apache APISIX 的优势是什么。
-tags: [technology]
+tags: [Technology]
 ---
 
 > 本文介绍了 Apache APISIX 架构演进历史,对比 Nginx 和 Kong 这两个框架 Apache APISIX 的优势是什么。
diff --git a/website/blog/2021-06-29-release-apache-apisix-2.7-en.md b/website/blog/2021-06-29-release-apache-apisix-2.7-en.md
index ac1cc45..bb048c2 100644
--- a/website/blog/2021-06-29-release-apache-apisix-2.7-en.md
+++ b/website/blog/2021-06-29-release-apache-apisix-2.7-en.md
@@ -1,13 +1,13 @@
 ---
 title: "Release Apache APISIX 2.7.0"
-author: "赵若妃"
+author: "Ruofei Zhao"
 authorURL: "https://github.com/Serendipity96"
 authorImageURL: "https://avatars.githubusercontent.com/u/23514812?v=4"
 keywords:
 - Apache APISIX
 - Release Notes
 Description: Apache APISIX 2.7.0 has been released!
-tags: [news]
+tags: [Release]
 ---
 
 > Apache APISIX 2.7.0 has been released!
diff --git a/website/blog/2021-06-29-release-apache-apisix-2.7.md b/website/blog/2021-06-29-release-apache-apisix-2.7.md
index 073b0c2..be2b1ba 100644
--- a/website/blog/2021-06-29-release-apache-apisix-2.7.md
+++ b/website/blog/2021-06-29-release-apache-apisix-2.7.md
@@ -7,7 +7,7 @@ keywords:
 - Apache APISIX
 - Release Notes
 Description: Apache APISIX 2.7.0-Release 正式发布!
-tags: [news]
+tags: [Release]
 ---
 
 > Apache APISIX 2.7.0-Release 正式发布!
diff --git a/website/blog/2021-06-30-etcd3-support-HTTP-access-perfectly.md b/website/blog/2021-06-30-etcd3-support-HTTP-access-perfectly.md
index cd19114..acc1ac8 100644
--- a/website/blog/2021-06-30-etcd3-support-HTTP-access-perfectly.md
+++ b/website/blog/2021-06-30-etcd3-support-HTTP-access-perfectly.md
@@ -9,7 +9,7 @@ keywords:
 - HTTP
 - gRPC
 Description: 从去年 10 月发布 Apache APISIX 2.0 版本以来,现在已经过去了 8 个月。在实践过程中,我们也发现了 etcd 的 HTTP API 的一些跟 gRPC API 交互的问题。事实上,拥有 gRPC-gateway 并不意味着能够完美支持 HTTP 访问,这里还是有些细微的差别。
-tags: [technology]
+tags: [Technology]
 ---
 
 > 从去年 10 月发布 Apache APISIX 2.0 版本以来,现在已经过去了 8 个月。在实践过程中,我们也发现了 etcd 的 HTTP API 的一些跟 gRPC API 交互的问题。事实上,拥有 gRPC-gateway 并不意味着能够完美支持 HTTP 访问,这里还是有些细微的差别。
diff --git a/website/blog/2021-07-06-celebrate-200-contributors.md b/website/blog/2021-07-06-celebrate-200-contributors.md
index 281820f..d7e4849 100644
--- a/website/blog/2021-07-06-celebrate-200-contributors.md
+++ b/website/blog/2021-07-06-celebrate-200-contributors.md
@@ -1,6 +1,6 @@
 ---
 title: "Apache APISIX has over 200 contributors in GitHub main repo! "
-author: "赵若妃"
+author: "Ruofei Zhao"
 authorURL: "https://github.com/Serendipity96"
 authorImageURL: "https://avatars.githubusercontent.com/u/23514812?v=4"
 keywords:
@@ -8,7 +8,7 @@ keywords:
 - Apache APISIX
 - News
 Description: Apache APISIX has over 200 contributors in GitHub main repo!
-tags: [news]
+tags: [Release]
 ---
 
 > Apache APISIX has over 200 contributors in GitHub main repo!
diff --git a/website/blog/2021-07-14-the-road-to-customization-of-Sina-Weibo-API-gateway-based-on-Apache-APISIX.md b/website/blog/2021-07-14-the-road-to-customization-of-Sina-Weibo-API-gateway-based-on-Apache-APISIX.md
index 32f2e35..614ddd8 100644
--- a/website/blog/2021-07-14-the-road-to-customization-of-Sina-Weibo-API-gateway-based-on-Apache-APISIX.md
+++ b/website/blog/2021-07-14-the-road-to-customization-of-Sina-Weibo-API-gateway-based-on-Apache-APISIX.md
@@ -7,7 +7,7 @@ keywords:
 - Weibo
 - API Gateway
 description: 微博之前的 HTTP API 网关基于 NGINX 搭建,所有路由规则存放在 NGINX conf 配置文件中,带来一系列问题:升级步骤长,对服务增、删、改或跟踪问题时,不够灵活且难以排查问题。经过一番调研之后,我们选择了最接近预期、基于云原生的微服务 API 网关:Apache APISIX,借助其动态、高效、稳定等特性以满足业务的快速响应要求。
-tags: [technology, practical case]
+tags: [User Case]
 ---
 
 > 新浪微博之前的 HTTP API 网关基于 NGINX 搭建,所有路由规则存放在 NGINX conf 配置文件中,带来一系列问题:升级步骤长,对服务增、删、改或跟踪问题时,不够灵活且难以排查问题。经过一番调研之后,我们选择了最接近预期、基于云原生的微服务 API 网关:Apache APISIX,借助其动态、高效、稳定等特性以满足业务的快速响应要求。
diff --git a/website/blog/2021-07-16-Analyze-Apache-APISIX-Mesh-Agent-deeply.md b/website/blog/2021-07-16-Analyze-Apache-APISIX-Mesh-Agent-deeply.md
deleted file mode 100644
index 01a7bf9..0000000
--- a/website/blog/2021-07-16-Analyze-Apache-APISIX-Mesh-Agent-deeply.md
+++ /dev/null
@@ -1,98 +0,0 @@
----
-title: "深度剖析 Apache APISIX Mesh Agent"
-author: "张超"
-authorURL: "https://github.com/tokers"
-authorImageURL: "https://avatars.githubusercontent.com/u/10428333?v=4"
-keywords:
-- Apache APISIX
-- Service Mesh
-- 服务网格
-- xDS
-description: 支流科技推出了基于Apache APISIX的服务网格方案,其中Apache APISIX作为服务网格的数据面,与支持xDS协议的控制面配合,进而托管服务间的流量。在该方案中有一个不可或缺的组件apisix-mesh-agent,它作为数据面与控制面的中间层,完成了很多适配性的工作,进而让 Apache APISIX 在接近零改造的情况下即可完美地工作在服务网格中。
-tags: [technology]
----
-
-> 本文将对 apisix-mesh-agent 进行分析,介绍其使用定位及其实现的功能。
-
-<!--truncate-->
-
-在今年 6 月,支流科技推出了[基于 Apache APISIX 的服务网格方案](https://mp.weixin.qq.com/s/t7oga6xP2JpdcraixwSwVg),其中 Apache APISIX 将作为服务网格的数据面,与支持 [xDS](https://www.envoyproxy.io/docs/envoy/latest/api-docs/xds_protocol) 协议的控制面配合,进而托管服务间的流量。在该方案中有一个不可或缺的组件 [apisix-mesh-agent](https://github.com/api7/apisix-mesh-agent),它作为数据面与控制面的中间层,完成了很多适配性的工作,进而让 Apache APISIX 在接近零改造的情况下即可完美地工作在服务网格中。
-
-本文将对 apisix-mesh-agent 进行分析,介绍其使用定位及其实现的功能。
-
-## 使用定位
-
-从使用角度上讲,apisix-mesh-agent 将和 Apache APISIX 共同运行在同一个(sidecar)容器内,事实上 Apache APISIX 也是由 apisix-mesh-agent fork 得到,这有点类似于 [Istio](https://istio.io) 中 [pilot-agent](https://istio.io/latest/docs/reference/commands/pilot-agent/) 与 [Envoy](https://www.envoyproxy.io/) 之间的关系。另外,它也负责在 Pod 启动后注入 iptables 规则(拦截服务实例的出入流量)。
-
-![2021-07-16-1](../static/img/blog_img/2021-07-16-1.png)
-
-从图中可以看到,apisix-mesh-agent 负责和控制面交互(获取配置变更),Apache APISIX 负责实际的流量处理和转发。
-
-## 获取配置变更
-
-前面我们提到,apisix-mesh-agent 将和实现了 xDS 协议的控制面进行交互,从控制面处获取最新的配置变更,具体来说,apisix-mesh-agent 会通过 CDS (Cluster Disocvery Service)来获取集群列表,并进一步通过 EDS(Endpoint Discovery Service)获取这些集群的最新实例列表;集群列表和集群对应的实例列表将在 apisix-mesh-agent 内部转换为 Apache APISIX 的 [Upstream](http://apisix.apache.org/docs/apisix/architecture-design/upstream) 对象(EDS 的数据则是转换为 Upstream 的节点信息)。
-
-此外,apisix-mesh-agent 通过 LDS(Listener Discovery Service)获取动态监听器,apisix-mesh-agent 获取监听器后,主要的目的是获取其中的 HTTP Connection Manager 内的 RDS 名称表,进而能够发起 RDS 请求(Route Discovery Service),获取到具体的路由配置,这部分路由配置将被映射到 Apache APISIX 的 [Route](http://apisix.apache.org/docs/apisix/architecture-design/route) 对象。至于监听器本身,并不会为 Apache APISIX 所用。
-
-细心的读者可能会发现,这些监听器本身就是一个路由匹配条件,即目标服务的地址和端口信息,如果 Apache APISIX 忽略了这些监听器,那么是否会出现串路由的情况?事实上,我们通过在 Nginx 核心中添加了一个新的变量 `$connection_original_dst`,这个变量的值是流量原始的地址和端口信息(没有被 iptables 劫持的情况下),有了这一层判断以后,路由之间则不会出现乱串的情况。感兴趣的同学可以戳[这里](https://github.com/api7/apisix-mesh-agent/blob/main/nginx/patches/nginx-1.19.3-connection-original-dst.patch)了解这个变量的实现。
-
-```shell
-# 10.0.5.113:8000 监听器下的某路由配置
-{
-  "name": "vhost1",
-  "domains": [
-    "apisix.apache.org"
-  ],
-  "routes": [
-    {
-      "name": "route1",
-      "match": {
-        "path_specifier": {
-        "prefix": "/foo/baz"
-        }
-      },
-      "action": {
-        "route": {
-          "cluster_specifier": {
-            "cluster": "httpbin.default.svc.cluster.local"
-          }
-        }
-      }
-    }
-  ]
-}
-
-# 转换成 Apache APISIX 的配置后:
-{
-  "uris": [
-    "/foo/baz*"
-  ],
-  "hosts": [
-    "apisix.apache.org"
-  ],
-
-  # 该路由匹配时需要判断对应连接原始的目标地址是否是 "10.0.5.113:8000",即
-  # httpbin.default.svc.cluster.local 这一服务的 ClusterIP(只考虑 Kubernetes
-  # 场景)。
-
-  "vars": [
-    ["connection_original_dst", "==", "10.0.5.113:8000"]
-  ]
-
-  # upstream_id 定义了 httpbin.default.svc.cluster.local 这一服务,
-  # 包含其最新的实例地址和其他相关的负载均衡、健康检查等配置。
-  "upstream_id": "90ba12b92e2d417f6802536696431724d59856ea"
-}
-```
-
-转换后的配置将被缓存在 apisix-mesh-agent 的内存中。那么数据又该怎么传递给 Apache APISIX 呢?
-
-## 模拟 ETCD
-
-Apache APISIX 使用 [ETCD](https://etcd.io/) 作为其配置中心,通过 ETCD 的 watch 机制不断获取最新的配置从而保证其处理正确性。为了能让 Apache APISIX 在不做任何改变的情况下就能工作于服务网格场景中,我们让 apisix-mesh-agent 模拟了 [ETCD V3 APIs](https://etcd.io/docs/v3.4/learning/api/),从而能够将其从控制面获取到的配置(加以转换后)传递到本地的 Apache APISIX 进程。
-
-目前 apisix-mesh-agent 主要实现的 API 有 `Range` (获取指定配置)和 `Watch` (监听指定配置变更)两个只读的 ETCD API 接口,并且支持了根据键值来获取不同的资源(如路由和上游资源)。对于 `Watch` 接口,我们需要推送增量更新事件,而类似 Istio 这样的控制面使用的是 xDS 协议中的 SotW(State of the World)变种,即每次都是推送全量数据,为了能够获取到更新事件,apisix-mesh-agent 会将当前获取到的数据与上一次的数据状态进行对比,从而对比得到增量更新事件然后传递到 Apache APISIX。
-
-## 总结
-
-通过引入 apisix-mesh-agent 这一中间层,我们成功地将 Apache APISIX 部署在服务网格中,未来 apisix-mesh-agent 也将支持 xDS 协议中更多的功能以及可观测性和证书管理等方面的能力,从而让 APISIX Mesh 变得更加成熟与强大。
diff --git a/website/blog/2021-07-21-Apache-APISIX-Kubernetes.md b/website/blog/2021-07-21-Apache-APISIX-Kubernetes.md
index bdb31a4..f8a8191 100644
--- a/website/blog/2021-07-21-Apache-APISIX-Kubernetes.md
+++ b/website/blog/2021-07-21-Apache-APISIX-Kubernetes.md
@@ -7,7 +7,7 @@ keywords:
 - Kubernetes
 - 直播预告
 description: 直播预告:北京时间 2021 年 7 月 23 日星期五 00:00,Apache APISIX committer 张晋涛将在 Data on Kubernetes Community 的 Meetup 上,面向全球开发者做主题为《Run Apache APISIX in Kubernetes》的分享。
-tags: [technology]
+tags: [Events]
 ---
 
 > 北京时间 2021 年 7 月 23 日星期五 00:00, Apache APISIX committer 张晋涛将在 Data on Kubernetes Community 的 Meetup 上,面向全球开发者做主题为《Run Apache APISIX in Kubernetes》的分享。
diff --git a/website/blog/2021-07-25-apachecon-asia.md b/website/blog/2021-07-25-apachecon-asia.md
index 270ab1b..0562ca8 100644
--- a/website/blog/2021-07-25-apachecon-asia.md
+++ b/website/blog/2021-07-25-apachecon-asia.md
@@ -7,7 +7,7 @@ keywords:
 - Apache APISIX
 - ApacheCon
 description: ApacheCon 是 Apache 软件基金会的官方全球系列会议。自 1998 年以来,ApacheCon 一直吸引着各个层次的参与者,在 350 多个 Apache 项目及其不同的社区中探索 “明日的技术”。ApacheCon Asia 是 ApacheCon 组委会针对亚太地区举办的 ApacheCon 在线会议,主要目标在于更好地服务亚太地区快速增长的 Apache 用户和贡献者。ApacheCon Asia 2021 将于今年 8 月 6-8 日在线举办。
-tags: [technology]
+tags: [Events]
 ---
 
 > ApacheCon 是 Apache 软件基金会的官方全球系列会议。自 1998 年以来,ApacheCon 一直吸引着各个层次的参与者,在 350 多个 Apache 项目及其不同的社区中探索 “明日的技术”。ApacheCon Asia 是 ApacheCon 组委会针对亚太地区举办的 ApacheCon 在线会议,主要目标在于更好地服务亚太地区快速增长的 Apache 用户和贡献者。ApacheCon Asia 2021 将于今年 8 月 6-8 日在线举办。
diff --git a/website/blog/2021-07-27-use-of-plugin-orchestration-in-Apache-APISIX.md b/website/blog/2021-07-27-use-of-plugin-orchestration-in-Apache-APISIX.md
index b7bc7e6..f330325 100644
--- a/website/blog/2021-07-27-use-of-plugin-orchestration-in-Apache-APISIX.md
+++ b/website/blog/2021-07-27-use-of-plugin-orchestration-in-Apache-APISIX.md
@@ -9,7 +9,7 @@ keywords:
 - 插件编排
 - Apache APISIX Dashboard
 description: 通过阅读本文,您可以了解 Apache APISIX 与基本使用场景,以及在低代码潮流下,Apache APISIX 是如何集成“拖拽”的插件编排能力的。本文作者琚致远,Apache APISIX PMC,在支流科技负责企业产品与大前端技术。
-tags: [technology]
+tags: [Practical Case]
 ---
 
 > 通过阅读本文,您可以了解 Apache APISIX 与基本使用场景,以及在低代码潮流下,Apache APISIX 是如何集成“拖拽”的插件编排能力的。本文作者琚致远,Apache APISIX PMC,在支流科技负责企业产品与大前端技术。
diff --git a/website/blog/2021-07-28-release-apache-apisix-2.8-en.md b/website/blog/2021-07-28-release-apache-apisix-2.8-en.md
index 33cc9e0..c0b9c89 100644
--- a/website/blog/2021-07-28-release-apache-apisix-2.8-en.md
+++ b/website/blog/2021-07-28-release-apache-apisix-2.8-en.md
@@ -1,6 +1,6 @@
 ---
 title: "Release Apache APISIX 2.8.0"
-author: "赵若妃"
+author: "Ruofei Zhao"
 authorURL: "https://github.com/Serendipity96"
 authorImageURL: "https://avatars.githubusercontent.com/u/23514812?v=4"
 keywords:
@@ -8,7 +8,7 @@ keywords:
 - Release Notes
 - Apache APISIX 
 description: Apache APISIX version 2.8 is released!
-tags: [news]
+tags: [Release]
 ---
 
 > Apache APISIX version 2.8 is released!
diff --git a/website/blog/2021-07-28-release-apache-apisix-2.8.md b/website/blog/2021-07-28-release-apache-apisix-2.8.md
index a0122f1..c8a86fa 100644
--- a/website/blog/2021-07-28-release-apache-apisix-2.8.md
+++ b/website/blog/2021-07-28-release-apache-apisix-2.8.md
@@ -8,7 +8,7 @@ keywords:
 - Release Notes
 - Apache APISIX 
 description: Apache APISIX 2.8 版本正式发布!
-tags: [news]
+tags: [Events]
 ---
 
 > Apache APISIX 2.8 版本正式发布!
diff --git a/website/blog/2021-08-05-Kong-to-APISIX.md b/website/blog/2021-08-05-Kong-to-APISIX.md
index 4d8e0a0..08db1dd 100644
--- a/website/blog/2021-08-05-Kong-to-APISIX.md
+++ b/website/blog/2021-08-05-Kong-to-APISIX.md
@@ -9,7 +9,7 @@ keywords:
 - 迁移工具
 - API 网关
 description: Apache APISIX 是一个生产可用的开源七层全流量处理平台,可作为 API 网关处理业务入口流量,具有极高性能、超低延迟,官方支持 dashboard 以及超过五十种插件。如果你正在使用 Kong,对 APISIX 感兴趣又苦于难以上手,不妨试试我们刚开源的迁移工具 Kong-To-APISIX,助你一键平滑迁移。
-tags: [technology]
+tags: [Technology]
 ---
 
 > Apache APISIX 是一个生产可用的开源七层全流量处理平台,可作为 API 网关处理业务入口流量,具有极高性能、超低延迟,官方支持 dashboard 以及超过五十种插件。如果你正在使用 Kong,对 APISIX 感兴趣又苦于难以上手,不妨试试我们刚开源的迁移工具 Kong-To-APISIX,助你一键平滑迁移。
diff --git a/website/blog/2021-08-06-using-apache-apisix-to-improve-the-observability-of-nginx.md b/website/blog/2021-08-06-using-apache-apisix-to-improve-the-observability-of-nginx.md
index bf5e888..ebc3612 100644
--- a/website/blog/2021-08-06-using-apache-apisix-to-improve-the-observability-of-nginx.md
+++ b/website/blog/2021-08-06-using-apache-apisix-to-improve-the-observability-of-nginx.md
@@ -10,7 +10,7 @@ keywords:
 - Nginx
 - 可观测性
 description: 最佳实践:本文将从 Nginx 可观测性、Apache APISIX 与 Nginx 的关系、Apache APISIX 可观测性,以及结合 Apache SkyWalking 进一步提升可观测性这些方面分享关于可观测性的方案与实践。
-tags: [technology, practical case]
+tags: [Practical Case]
 ---
 
 > 本文将从 Nginx 可观测性、Apache APISIX 与 Nginx 的关系、Apache APISIX 可观测性,以及结合 Apache SkyWalking 进一步提升可观测性这些方面分享关于可观测性的方案与实践。
diff --git a/website/blog/2021-08-09-Apache-APISIX-in-China-Mobile-Cloud.md b/website/blog/2021-08-09-Apache-APISIX-in-China-Mobile-Cloud.md
index 8513318..509aa75 100644
--- a/website/blog/2021-08-09-Apache-APISIX-in-China-Mobile-Cloud.md
+++ b/website/blog/2021-08-09-Apache-APISIX-in-China-Mobile-Cloud.md
@@ -7,7 +7,7 @@ keywords:
 - Apache APISIX
 - 中国移动
 description: 我们有幸采访了中国移动云能力中心的陈焱山,在采访中我们了解到中国移动公有云建设发展演进历程,了解了中国移动云为什么选择 Apache APISIX 作为负载均衡网关,并且知晓移动云后续的发展规划。
-tags: [technology, practical case]
+tags: [Interview]
 ---
 
 > 我们有幸采访了中国移动云能力中心的陈焱山,在采访中我们了解到中国移动公有云建设发展演进历程,了解了中国移动云为什么选择 Apache APISIX 作为负载均衡网关,并且知晓移动云后续的发展规划。
diff --git a/website/blog/2021-08-09-Apache-APISIX-in-Quliankeji.md b/website/blog/2021-08-09-Apache-APISIX-in-Quliankeji.md
index 1df9674..2f50219 100644
--- a/website/blog/2021-08-09-Apache-APISIX-in-Quliankeji.md
+++ b/website/blog/2021-08-09-Apache-APISIX-in-Quliankeji.md
@@ -8,7 +8,7 @@ keywords:
 - API 网关
 - BaaS
 description:  本文介绍了 Apache APISIX 在趣链科技 BaaS 平台中的落地实践情况,以及趣链科技在众多网关应用中选择 Apache APISIX 的原因。
-tags: [technology,practical case]
+tags: [User Case]
 ---
 
 > 本文介绍了 Apache APISIX 在趣链科技 BaaS 平台中的落地实践情况,以及趣链科技在众多网关应用中选择 Apache APISIX 的原因。
diff --git a/website/blog/2021-08-10-apisix-nginx.md b/website/blog/2021-08-10-apisix-nginx.md
index f584dd8..264524d 100644
--- a/website/blog/2021-08-10-apisix-nginx.md
+++ b/website/blog/2021-08-10-apisix-nginx.md
@@ -9,7 +9,7 @@ keywords:
 - 动态管理
 date: "2021-08-10"
 description: 本文转发自陶辉个人博客,主要介绍了基于APISIX 2.8 版本、OpenResty 1.19.3.2 版本以及 Nginx 1.19.3 版本进行 Apache APISIX 实现 REST API 远程控制 Nginx 集群的原理讲解。
-tags: [technology]
+tags: [Technology]
 ---
 
 > 本文转发自陶辉个人博客,主要介绍了基于 APISIX 2.8 版本、OpenResty 1.19.3.2 版本以及 Nginx 1.19.3 版本进行 Apache APISIX 实现 REST API 远程控制 Nginx 集群的原理讲解。
diff --git a/website/blog/2021-08-11-interview-TuZhengsong.md b/website/blog/2021-08-11-interview-TuZhengsong.md
index 2773144..b22b54a 100644
--- a/website/blog/2021-08-11-interview-TuZhengsong.md
+++ b/website/blog/2021-08-11-interview-TuZhengsong.md
@@ -10,7 +10,7 @@ keywords:
 - 开源社区
 - 开源项目
 description: 这篇采访稿讲述了屠正松从开源社区小白成长为 Apache 顶级开源项目 APISIX committer 的历程。屠正松(GitHub ID:tzssangglass)因深度参与 Apache APISIX 的开发,在社区中贡献很多,2021 年 7 月 22 日被推选为 Apache APISIX committer。
-tags: [technology]
+tags: [Interview]
 ---
 
 > 这篇采访稿讲述了屠正松从开源社区小白成长为 Apache 顶级开源项目 APISIX committer 的历程。屠正松(GitHub ID:tzssangglass)因深度参与 Apache APISIX 的开发,在社区中贡献很多,2021 年 7 月 22 日被推选为 Apache APISIX committer。
diff --git a/website/blog/2021-08-12-Chaos-Mesh-Helps-Apache-APISIX-Improve-System-Stability.md b/website/blog/2021-08-12-Chaos-Mesh-Helps-Apache-APISIX-Improve-System-Stability.md
index 1029873..d96fd3e 100644
--- a/website/blog/2021-08-12-Chaos-Mesh-Helps-Apache-APISIX-Improve-System-Stability.md
+++ b/website/blog/2021-08-12-Chaos-Mesh-Helps-Apache-APISIX-Improve-System-Stability.md
@@ -10,7 +10,7 @@ keywords:
 - Chaos Mesh
 - System Stability
 description: This article explains how system stability create some pain points in different scenarios. Then it tells the stories of why the author chose Chaos Mesh as the ultimate solution,and how to use Chaos Mesh in Apache APISIX. In the end, there is also future plans for this solution, including run a chaos test in E2E simulation scenarios, add chaos tests to more Apache APISIX projects, and add features to Chaos Mesh.
-tags: [technology]
+tags: [Practical Case]
 ---
 
 > This article explains how system stability create some pain points in different scenarios. Then it tells the stories of why the author chose Chaos Mesh as the ultimate solution,and how to use Chaos Mesh in Apache APISIX. In the end, there is also future plans for this solution, including run a chaos test in E2E simulation scenarios, add chaos tests to more Apache APISIX projects, and add features to Chaos Mesh.
diff --git a/website/blog/2021-08-14-contributors-the-golden-metric-of-openSource-projects-en.md b/website/blog/2021-08-14-contributors-the-golden-metric-of-openSource-projects-en.md
index 17eb781..55e8144 100644
--- a/website/blog/2021-08-14-contributors-the-golden-metric-of-openSource-projects-en.md
+++ b/website/blog/2021-08-14-contributors-the-golden-metric-of-openSource-projects-en.md
@@ -10,7 +10,7 @@ keywords:
 - contributor graph
 - open-source project
 description: This article explains why changes in the number of contributors is the golden metric for measuring open source projects. While GitHub already has a number of metrics, such as Star count, Issue count, and PR count, none of these metrics can visually reflect the trends and activity of an open source project over time. So Yiyiyimu proposed new metrics, such as contributor growth and monthly active contributors, and created an open-source tool called the Contributor Graph that a [...]
-tags: [technology]
+tags: [Community]
 ---
 
 > According to GitHub’s statistics in 2020, over 60 million new repositories were added, and more than 56 million developers worked on OpenSource projects. By 2025, the number of developers working on OpenSource projects on GitHub is expected to exceed 100 million.
diff --git a/website/blog/2021-08-14-contributors-the-golden-metric-of-openSource-projects.md b/website/blog/2021-08-14-contributors-the-golden-metric-of-openSource-projects.md
index 83352d3..6cad07f 100644
--- a/website/blog/2021-08-14-contributors-the-golden-metric-of-openSource-projects.md
+++ b/website/blog/2021-08-14-contributors-the-golden-metric-of-openSource-projects.md
@@ -10,7 +10,7 @@ keywords:
 - 贡献者图表
 - 开源项目
 description: 本文讲述了为什么贡献者数量变化是衡量开源项目的金指标。虽然 GitHub 已有的指标数量很多,例如 Star 数、Issue 数量和 PR 数量,但是这些指标都不能直观地反映出一个开源项目在一段时间内的变化趋势和活跃度。所以笔者 Yiyiyimu 提出了新的指标:贡献者增长和月度活跃贡献者,并创造了一款开源工具,其名为“献者图表”,方便 GitHub 用户使用这些指标来确认项目的活跃度。目前,多个开源项目已经在使用贡献者图表。
-tags: [technology]
+tags: [Community]
 ---
 
 > 根据 GitHub 2020 年的统计显示,这一年新增了 6000 万个代码仓库,超过 5600 万的开发者参与到开源项目中。预计到 2025 年,在 GitHub 参与开源项目的开发者人数将会超过 1 亿。
diff --git a/website/blog/2021-08-16-Using-the-Apache-APISIX-OpenID-Connect-Plugin-for-Centralized-Authentication.md b/website/blog/2021-08-16-Using-the-Apache-APISIX-OpenID-Connect-Plugin-for-Centralized-Authentication.md
index 199df59..c40145d 100644
--- a/website/blog/2021-08-16-Using-the-Apache-APISIX-OpenID-Connect-Plugin-for-Centralized-Authentication.md
+++ b/website/blog/2021-08-16-Using-the-Apache-APISIX-OpenID-Connect-Plugin-for-Centralized-Authentication.md
@@ -10,7 +10,7 @@ keywords:
 - Okta
 - Centralized Authentication
 description: This blog shows the procedures of using Apache APISIX OpenID Connect Plugin for Okta Centralized Authentication.  This blog contains conceptual introductions of Apache APISIX and Okta Centralized Authentication, and detailed step-by-step instructions.
-tags: [technology, practical case]
+tags: [Practical Case]
 ---
 
 > This blog shows the procedures of using Apache APISIX OpenID Connect Plugin for Okta Centralized Authentication.  This blog contains conceptual introductions of Apache APISIX and Okta Centralized Authentication, and detailed step-by-step instructions.
diff --git a/website/blog/2021-08-17-interview-airwallex.md b/website/blog/2021-08-17-interview-airwallex.md
index a05ffdd..447c998 100644
--- a/website/blog/2021-08-17-interview-airwallex.md
+++ b/website/blog/2021-08-17-interview-airwallex.md
@@ -8,7 +8,7 @@ keywords:
 - 金融
 - 数据主权
 description: 本文采访了 Airwallex 空中云汇 Technical Platform Lead 李杨,李杨负责公司技术平台的演进。采访中详细介绍了 Airwallex 空中云汇在做技术选型时为什么选择 Apache APISIX、Apache APISIX 在 Airwallex 空中云汇的使用场景、Apache APISIX 在生产环境的表现等。
-tags: [technology]
+tags: [Interview]
 ---
 
 > 本文采访了 Airwallex 空中云汇 Technical Platform Lead 李杨,李杨负责公司技术平台的演进。采访中详细介绍了 Airwallex 空中云汇在做技术选型时为什么选择 Apache APISIX、Apache APISIX 在 Airwallex 空中云汇的使用场景、Apache APISIX 在生产环境的表现等。
diff --git a/website/blog/2021-08-18-Auth-with-Casbin-in-Apache-APISIX.md b/website/blog/2021-08-18-Auth-with-Casbin-in-Apache-APISIX.md
index 0c383ba..ec05e4f 100644
--- a/website/blog/2021-08-18-Auth-with-Casbin-in-Apache-APISIX.md
+++ b/website/blog/2021-08-18-Auth-with-Casbin-in-Apache-APISIX.md
@@ -8,7 +8,7 @@ keywords:
 - Casbin
 - RBAC
 description: 当我们在使用 Apache APISIX 时,可能想要在应用里添加复杂的授权逻辑。在此篇文章中,我们将使用 Apache APISIX 的内置 Casbin 插件(authz-casbin)来实现基于角色的访问控制(RBAC)模型。
-tags: [technology, practical case]
+tags: [Practical Case]
 ---
 
 > 当我们在使用 Apache APISIX 时,可能想要在应用里添加复杂的授权逻辑。在此篇文章中,我们将使用 Apache APISIX 的内置 Casbin 插件(authz-casbin)来实现基于角色的访问控制(RBAC)模型。
diff --git a/website/blog/2021-08-19-go-makes-Apache-APISIX-better.md b/website/blog/2021-08-19-go-makes-Apache-APISIX-better.md
index 3525bf1..5e329e5 100644
--- a/website/blog/2021-08-19-go-makes-Apache-APISIX-better.md
+++ b/website/blog/2021-08-19-go-makes-Apache-APISIX-better.md
@@ -10,7 +10,7 @@ keywords:
 - APISIX Go plugin
 - apisix-go-plugin-runner
 - Golang
-tags: [technology]
+tags: [Practical Case]
 ---
 
 > 这篇文章将详细讲解如何用 Go 来开发 Apache APISIX 插件。通过拥抱 Go 的生态圈,为 Apache APISIX 开创一片新天地,希望 Go 能让 Apache APISIX 如虎添翼!
diff --git a/website/events/2021-08-19-weekly-report.md b/website/blog/2021-08-19-weekly-report.md
similarity index 94%
rename from website/events/2021-08-19-weekly-report.md
rename to website/blog/2021-08-19-weekly-report.md
index 8302722..24b6785 100644
--- a/website/events/2021-08-19-weekly-report.md
+++ b/website/blog/2021-08-19-weekly-report.md
@@ -9,8 +9,11 @@ keywords:
 - contributor
 - API Gateway
 description: “独行者速,众行者远”。Apache APISIX 社区周报希望可以帮助社区小伙伴们更好地掌握 Apache APISIX 社区的每周进展,方便大家参与到 Apache APISIX 社区中来。
+tags: [Events]
 ---
 
+> 本周,有 26 位开发者为 Apache APISIX 提交了 96 个 commit 。感谢本周以下小伙伴为 Apache APISIX 添砖加瓦(排名不分先后),是你们的无私付出,让 Apache APISIX 变得更好!
+
 <!--truncate-->
 
 ## 导语
diff --git a/website/events/2021-08-21-shanghai-meetup.md b/website/blog/2021-08-21-shanghai-meetup.md
similarity index 93%
rename from website/events/2021-08-21-shanghai-meetup.md
rename to website/blog/2021-08-21-shanghai-meetup.md
index ccf9b4b..ad0bc4e 100644
--- a/website/events/2021-08-21-shanghai-meetup.md
+++ b/website/blog/2021-08-21-shanghai-meetup.md
@@ -6,10 +6,12 @@ keywords:
 - Apache APISIX
 - Meetup
 description: 本次 Meetup 由 api7.ai https://www.apiseven.com/ 发起,并邀请爱奇艺、空中云汇等合作伙伴共同为大家呈现。Apache APISIX PMC 成员、贡献者、社区技术专家汇聚一堂,共同探讨 Apache APISIX 社区发展、行业实践等话题。
+tags: [Events]
 ---
 
+> 本次 Meetup 由 [api7.ai](https://www.apiseven.com/) 发起,并邀请爱奇艺、空中云汇等合作伙伴共同为大家呈现。Apache APISIX PMC 成员、贡献者、社区技术专家汇聚一堂,共同探讨 Apache APISIX 社区发展、行业实践等话题。
+
 <!--truncate-->
-本次 Meetup 由 [api7.ai](https://www.apiseven.com/) 发起,并邀请爱奇艺、空中云汇等合作伙伴共同为大家呈现。Apache APISIX PMC 成员、贡献者、社区技术专家汇聚一堂,共同探讨 Apache APISIX 社区发展、行业实践等话题。
 
 #### 时间:2021 年 8 月 21 日 13:30
 
diff --git a/website/events/2021-08-23-ApacheCon-Asia-2021.md b/website/blog/2021-08-23-ApacheCon-Asia-2021.md
similarity index 93%
rename from website/events/2021-08-23-ApacheCon-Asia-2021.md
rename to website/blog/2021-08-23-ApacheCon-Asia-2021.md
index ca73e5a..75086d0 100644
--- a/website/events/2021-08-23-ApacheCon-Asia-2021.md
+++ b/website/blog/2021-08-23-ApacheCon-Asia-2021.md
@@ -7,13 +7,12 @@ keywords:
 - 孵化
 - 商业化
 description: ApacheCon 是 Apache 软件基金会的官方全球系列会议。自 1998 年以来,ApacheCon 一直吸引着各个层次的参与者,在 350 多个 Apache 项目及其不同的社区中探索 “明日的技术”。ApacheCon Asia 是 ApacheCon 组委会针对亚太地区举办的 ApacheCon 在线会议,主要目标在于更好地服务亚太地区快速增长的 Apache 用户和贡献者。ApacheCon Asia 2021 于 2021 年 8 月 6-8 日在线举办。Apache APISIX 社区积极参与本次年度开源盛会,共提报了 8 个 API/微服务技术相关的议题,内容丰富。
+tags: [Events]
 ---
 
-<!--truncate-->
-
-## Apache APISIX in ApacheCon 2021
+> ApacheCon 是 Apache 软件基金会的官方全球系列会议。自 1998 年以来,ApacheCon 一直吸引着各个层次的参与者,在 350 多个 Apache 项目及其不同的社区中探索 “明日的技术”。ApacheCon Asia 是 ApacheCon 组委会针对亚太地区举办的 ApacheCon 在线会议,主要目标在于更好地服务亚太地区快速增长的 Apache 用户和贡献者。ApacheCon Asia 2021 于 2021 年 8 月 6-8 日在线举办。
 
-ApacheCon 是 Apache 软件基金会的官方全球系列会议。自 1998 年以来,ApacheCon 一直吸引着各个层次的参与者,在 350 多个 Apache 项目及其不同的社区中探索 “明日的技术”。ApacheCon Asia 是 ApacheCon 组委会针对亚太地区举办的 ApacheCon 在线会议,主要目标在于更好地服务亚太地区快速增长的 Apache 用户和贡献者。ApacheCon Asia 2021 于 2021 年 8 月 6-8 日在线举办。
+<!--truncate-->
 
 Apache APISIX 社区积极参与本次年度开源盛会,共提报了 8 个 API/微服务技术相关的议题,内容丰富。
 
diff --git a/website/events/2021-08-23-weekly-report.md b/website/blog/2021-08-23-weekly-report.md
similarity index 92%
rename from website/events/2021-08-23-weekly-report.md
rename to website/blog/2021-08-23-weekly-report.md
index b59c898..b8509bd 100644
--- a/website/events/2021-08-23-weekly-report.md
+++ b/website/blog/2021-08-23-weekly-report.md
@@ -9,8 +9,11 @@ keywords:
 - contributor
 - API Gateway
 description: “独行者速,众行者远”。Apache APISIX 社区周报希望可以帮助社区小伙伴们更好地掌握 Apache APISIX 社区的每周进展,方便大家参与到 Apache APISIX 社区中来。
+tags: [Events]
 ---
 
+> “独行者速,众行者远”。Apache APISIX 社区周报希望可以帮助社区小伙伴们更好地掌握 Apache APISIX 社区的每周进展,方便大家参与到 Apache APISIX 社区中来。我们还整理了一些适合新来社区的小伙伴们参加的 issue !感兴趣的同学们,走过路过不要错过!
+
 <!--truncate-->
 
 ## 导语
diff --git a/website/blog/2021-08-24-shanghai-meetup-recap.md b/website/blog/2021-08-24-shanghai-meetup-recap.md
index ca048fc..16f6252 100644
--- a/website/blog/2021-08-24-shanghai-meetup-recap.md
+++ b/website/blog/2021-08-24-shanghai-meetup-recap.md
@@ -8,7 +8,7 @@ keywords:
 - 上海站
 - 回顾
 description: 活动回顾:Apache APISIX Meetup 上海站议题分享及视频回顾。
-tags: [technology]
+tags: [Events]
 ---
 
 > 活动回顾:Apache APISIX Meetup 上海站议题分享及视频回顾。
diff --git a/website/blog/2021-08-25-Auth-with-Casbin-in-Apache-APISIX.md b/website/blog/2021-08-25-Auth-with-Casbin-in-Apache-APISIX.md
index 6973521..ea5e5bc 100644
--- a/website/blog/2021-08-25-Auth-with-Casbin-in-Apache-APISIX.md
+++ b/website/blog/2021-08-25-Auth-with-Casbin-in-Apache-APISIX.md
@@ -8,7 +8,7 @@ keywords:
 - Casbin
 - RBAC
 description: When using Apache APISIX, you may want to add complex authorization logic to your application. In this article, we will use the built-in Casbin plugin (authz-casbin) of Apache APISIX to implement the role-based access control (RBAC) model.
-tags: [technology, practical case]
+tags: [Practical Case]
 ---
 
 > Apache APISIX released authz-casbin plugin to integrate with Casbin.
diff --git a/website/blog/2021-08-25-Using-the-Apache-APISIX-OpenID-Connect-Plugin-for-Centralized-Authentication.md b/website/blog/2021-08-25-Using-the-Apache-APISIX-OpenID-Connect-Plugin-for-Centralized-Authentication.md
index 638f73d..2e748ac 100644
--- a/website/blog/2021-08-25-Using-the-Apache-APISIX-OpenID-Connect-Plugin-for-Centralized-Authentication.md
+++ b/website/blog/2021-08-25-Using-the-Apache-APISIX-OpenID-Connect-Plugin-for-Centralized-Authentication.md
@@ -10,7 +10,7 @@ keywords:
 - Okta
 - 集中认证
 description: 本文展示了使用 Apache APISIX OpenID Connect Plugin 进行 Okta 集中认证的过程。 本文包含了对Apache APISIX 和 Okta 集中认证的概念介绍,展示了在 Apache APISIX 中直接建立来自 Okta 的集中式身份认证的过程。这种集中认证的方法减少了开发者的学习和维护成本,提供了安全和精简的用户体验。
-tags: [technology, practical case]
+tags: [Practical Case]
 ---
 
 > 相比较传统认证模式,集中认证模式下有如下优点:第一,简化应用开发流程,降低开发应用工作量和维护成本,避免各个应用重复开发身份认证代码;第二,提高业务的安全性,集中身份认证模式在网关层面能够及时拦截未经身份认证的请求,保护后端的应用。
diff --git a/website/blog/2021-08-25-Why-Apache-APISIX-chose-Nginx-and-Lua.md b/website/blog/2021-08-25-Why-Apache-APISIX-chose-Nginx-and-Lua.md
index 7ac8fdf..64d0997 100644
--- a/website/blog/2021-08-25-Why-Apache-APISIX-chose-Nginx-and-Lua.md
+++ b/website/blog/2021-08-25-Why-Apache-APISIX-chose-Nginx-and-Lua.md
@@ -10,7 +10,7 @@ keywords:
 - Lua
 - Nginx
 description: 本文由深圳支流科技工程师罗泽轩撰写,介绍了 Apache APISIX 选用 Nginx + Lua 这个技术栈的历史背景和这个技术栈为 APISIX 带来的优势。罗泽轩是 OpenResty 开发者以及 Apache APISIX PMC。
-tags: [technology]
+tags: [Technology]
 ---
 
 > 本文由深圳支流科技工程师罗泽轩撰写,介绍了 Apache APISIX 选用 Nginx + Lua 这个技术栈的历史背景和这个技术栈为 Apache APISIX 带来的优势。罗泽轩是 OpenResty 开发者以及 Apache APISIX PMC。
diff --git a/website/blog/2021-08-27-release-apache-apisix-2.9.md b/website/blog/2021-08-27-release-apache-apisix-2.9.md
index 13285bf..bc6fc1a 100644
--- a/website/blog/2021-08-27-release-apache-apisix-2.9.md
+++ b/website/blog/2021-08-27-release-apache-apisix-2.9.md
@@ -11,7 +11,7 @@ keywords:
 - Nginx
 - APISIX 2.9
 description: Apache APISIX 2.9 版本正式发布!该版本新增了 2 个新功能,进一步完善了对插件的支持。
-tags: [news]
+tags: [Events]
 ---
 
 > Apache APISIX 2.9 版本正式发布!
diff --git a/website/blog/2021-08-30-Ingress-Meeting.md b/website/blog/2021-08-30-Ingress-Meeting.md
index 994a56a..9ffd5f7 100644
--- a/website/blog/2021-08-30-Ingress-Meeting.md
+++ b/website/blog/2021-08-30-Ingress-Meeting.md
@@ -6,7 +6,7 @@ keywords:
 - APISIX
 - Ingress
 description: Apache APISIX Ingress 社区会议,建立与社区用户和开发者们的沟通渠道,帮助大家了解 Apache APISIX Ingress 的发展方向和开发计划。 
-tags: [news]
+tags: [Events]
 ---
 
 > 随着 [Apache APISIX Ingress Controller 1.0 版本](https://apisix.apache.org/blog/2021/06/18/first-GA-version-v1.0-of-Apache-APISIX-Ingress-Controller-released) 发布,越来越多的开发者开始关注 Apache APISIX Ingress 方案,Apache APISIX 社区希望能够建立与社区用户和开发者们更直接的沟通渠道,帮助大家了解 Apache APISIX Ingress 的发展方向和开发计划,希望每一位用户、每一位开发者的声音都可以被听见。 因此,Apache APISIX 社区开始组织每两周线上社区会议。
diff --git a/website/events/2021-08-30-weekly-report.md b/website/blog/2021-08-30-weekly-report.md
similarity index 99%
rename from website/events/2021-08-30-weekly-report.md
rename to website/blog/2021-08-30-weekly-report.md
index 3d30918..092848e 100644
--- a/website/events/2021-08-30-weekly-report.md
+++ b/website/blog/2021-08-30-weekly-report.md
@@ -6,7 +6,7 @@ keywords:
 - 贡献者
 - Good first issue
 description: “独行者速,众行者远”。Apache APISIX 社区周报希望可以帮助社区小伙伴们更好地掌握 Apache APISIX 社区的每周进展,方便大家参与到 Apache APISIX 社区中来。
-tags: [technology]
+tags: [Events]
 ---
 
 <!--truncate-->
diff --git "a/website/blog/2021-08-31-Apache APISIX \303\227 KubeSphere-a-better-gateway-and-K8S-Ingress-Controller.md" "b/website/blog/2021-08-31-Apache APISIX \303\227 KubeSphere-a-better-gateway-and-K8S-Ingress-Controller.md"
index bf7da28..5523eb0e 100644
--- "a/website/blog/2021-08-31-Apache APISIX \303\227 KubeSphere-a-better-gateway-and-K8S-Ingress-Controller.md"	
+++ "b/website/blog/2021-08-31-Apache APISIX \303\227 KubeSphere-a-better-gateway-and-K8S-Ingress-Controller.md"	
@@ -9,7 +9,7 @@ keywords:
 - KubeSphere
 - Ingress
 description: 本文介绍了在 KubeSphere 中使用 Apache APISIX 的官方 Helm 仓库直接部署 Apache APISIX 和 APISIX Ingress Controller 。并且 Apache APISIX 可通过作为网关,或者 APISIX Ingress Controller 的数据面来承载业务流量。
-tags: [technology]
+tags: [Practical Case]
 ---
 
 > 本文介绍了在 KubeSphere 中使用 Apache APISIX 的官方 Helm 仓库直接部署 Apache APISIX 和 APISIX Ingress Controller 。并且 Apache APISIX 可通过作为网关,或者 APISIX Ingress Controller 的数据面来承载业务流量。
diff --git a/website/blog/2021-09-06-python-helps-you-quickly-with-Apache-APISIX-development.md b/website/blog/2021-09-06-python-helps-you-quickly-with-Apache-APISIX-development.md
index 3475375..49f602b 100644
--- a/website/blog/2021-09-06-python-helps-you-quickly-with-Apache-APISIX-development.md
+++ b/website/blog/2021-09-06-python-helps-you-quickly-with-Apache-APISIX-development.md
@@ -10,7 +10,7 @@ keywords:
 - APISIX Python plugin
 - apisix-python-plugin-runner
 - APISIX Python Plugin Runner 
-tags: [technology]
+tags: [Practical Case]
 
 ---
 
diff --git a/website/blog/2021-09-07-how-to-use-apisix-auth.md b/website/blog/2021-09-07-how-to-use-apisix-auth.md
index b09a4a1..3d84441 100644
--- a/website/blog/2021-09-07-how-to-use-apisix-auth.md
+++ b/website/blog/2021-09-07-how-to-use-apisix-auth.md
@@ -7,7 +7,7 @@ keywords:
 - APISIX
 - 集中式身份认证
 description: 本文介绍了 Apache APISIX 的身份认证功能,从重要性和玩法使用上进行了详细介绍和细节使用。
-tags: [technology]
+tags: [Practical Case]
 ---
 
 > 本文介绍了 Apache APISIX 的身份认证功能,从重要性和玩法使用上进行了详细介绍。
diff --git a/website/blog/2021-09-07-iQIYI-usercase.md b/website/blog/2021-09-07-iQIYI-usercase.md
index 6c18096..4ced433 100644
--- a/website/blog/2021-09-07-iQIYI-usercase.md
+++ b/website/blog/2021-09-07-iQIYI-usercase.md
@@ -7,7 +7,7 @@ keywords:
 - API 网关
 - 服务发现
 description: 本文整理自爱奇艺高级研发师何聪在 Apache APISIX Meetup 上海站的演讲,通过阅读本文,您可以了解到基于 Apache APISIX 网关,爱奇艺技术团队是如何进行公司架构的更新与融合,打造出全新的网关服务。
-tags: [technology]
+tags: [User Case]
 ---
 
 > 爱奇艺在之前有开发了一款网关——Skywalker,它是基于 Kong 做的二次开发,目前流量使用也是比较大的,网关存量业务日常峰值为百万级别 QPS,API 路由数量上万。但这款产品的不足随着使用也开始逐步体现。今年在交接到此项目后,我们根据上述问题和困境,开始对相关网关类产品做了一些调研,然后发现了 Apache APISIX。在选择 Apache APISIX 之前,爱奇艺平台已经在使用 Kong 了,但是后来 Kong 被放弃了。
diff --git a/website/blog/2021-09-09-how-to-contribute-to-an-OpenSource-without-coding.md b/website/blog/2021-09-09-how-to-contribute-to-an-OpenSource-without-coding.md
index c2b30d0..8c36589 100644
--- a/website/blog/2021-09-09-how-to-contribute-to-an-OpenSource-without-coding.md
+++ b/website/blog/2021-09-09-how-to-contribute-to-an-OpenSource-without-coding.md
@@ -7,7 +7,7 @@ keywords:
 - 开源项目
 - 贡献
 description: 本文介绍了很多不写代码为开源项目贡献的方式,可以通过写文章、做视频、对外分享、建立本地社区、积极参与社区讨论等方式参与到开源项目中。
-tags: [community]
+tags: [Community]
 ---
 
 > 本文介绍了很多不写代码为开源项目贡献的方式,可以通过写文章、做视频、对外分享、建立本地社区、积极参与社区讨论等方式参与到开源项目中。
diff --git a/website/blog/2021-09-13-china-mobile-cloud-usercase.md b/website/blog/2021-09-13-china-mobile-cloud-usercase.md
index cb4cd74..146e58d 100644
--- a/website/blog/2021-09-13-china-mobile-cloud-usercase.md
+++ b/website/blog/2021-09-13-china-mobile-cloud-usercase.md
@@ -7,7 +7,7 @@ keywords:
 - 云服务
 - API 网关
 description: 本文整理自中国移动云能力中心陈焱山在 ApacheCon 2021 亚洲站的演讲,通过阅读本文,您可以了解到中国移动云是如何基于 Apache APISIX 进行产品的开发和功能改进与更新,打造出更完善的移动云对象存储。
-tags: [technology, Practical Case]
+tags: [User Case]
 ---
 
 > 本文整理自中国移动云能力中心陈焱山在 ApacheCon 2021 亚洲站的演讲,通过阅读本文,您可以了解到中国移动云是如何基于 Apache APISIX 进行产品的开发和功能改进与更新,打造出更完善的移动云对象存储。
diff --git a/website/blog/2021-09-14-youzan.md b/website/blog/2021-09-14-youzan.md
index fbbac49..cfc7230 100644
--- a/website/blog/2021-09-14-youzan.md
+++ b/website/blog/2021-09-14-youzan.md
@@ -7,7 +7,7 @@ keywords:
 - 微服务治理
 - 云原生
 description: 本文主要介绍了有赞云原生 PaaS 平台使用 Apache APISIX 的企业案例,以及如何使用 Apache APISIX 作为产品流量网关的具体实例。
-tags: [practical case]
+tags: [User Case]
 ---
 
 > 本文主要介绍了有赞云原生 PaaS 平台使用 Apache APISIX 的企业案例,以及如何使用 Apache APISIX 作为产品流量网关的具体实例。
diff --git a/website/blog/2021-09-15-weekly-report.md b/website/blog/2021-09-15-weekly-report.md
index e7bb683..7efa59e 100644
--- a/website/blog/2021-09-15-weekly-report.md
+++ b/website/blog/2021-09-15-weekly-report.md
@@ -6,7 +6,7 @@ keywords:
 - contributor
 - Good first issue
 description: “独行者速,众行者远”。Apache APISIX 社区周报希望可以帮助社区小伙伴们更好地掌握 Apache APISIX 社区的每周进展,方便大家参与到 Apache APISIX 社区中来。
-tags: [technology]
+tags: [Events]
 ---
 > 从 8.30 开始这两周有 33 位开发者为 Apache APISIX 提交了 130 个 commits。感谢以下小伙伴为 Apache APISIX 添砖加瓦(排名不分先后),是你们的无私付出,让 Apache APISIX 项目变得更好!
 
diff --git a/website/blog/2021-09-16-tencent-cloud.md b/website/blog/2021-09-16-tencent-cloud.md
index 7d6dee1..d96707d 100644
--- a/website/blog/2021-09-16-tencent-cloud.md
+++ b/website/blog/2021-09-16-tencent-cloud.md
@@ -7,7 +7,7 @@ keywords:
 - Kong
 - Nginx
 description: 本文主要介绍了腾讯云智能钛平台使用 Apache APISIX 的企业案例,以及使用 Apache APISIX 作为产品流量网关的具体例子。
-tags: [Practical Case]
+tags: [User Case]
 ---
 
 > 本文主要介绍了腾讯云智能钛平台使用 Apache APISIX 的企业案例,以及使用 Apache APISIX 作为产品流量网关的具体例子。
diff --git a/website/blog/2021-09-18-xiaodian-usercase.md b/website/blog/2021-09-18-xiaodian-usercase.md
index 49905fe..c38d13c 100644
--- a/website/blog/2021-09-18-xiaodian-usercase.md
+++ b/website/blog/2021-09-18-xiaodian-usercase.md
@@ -7,7 +7,7 @@ keywords:
 - 云原生
 - 容器化
 description: 本文介绍了国内便利充电创领者——小电通过应用 Apache APISIX,进行公司产品架构的云原生项目搭建的相关背景和实践介绍
-tags: [Practical Case]
+tags: [User Case]
 ---
 
 > 本文介绍了国内便利充电创领者——小电通过应用 Apache APISIX,进行公司产品架构的云原生项目搭建的相关背景和实践介绍
diff --git a/website/docusaurus.config.js b/website/docusaurus.config.js
index a100a62..9e43b05 100644
--- a/website/docusaurus.config.js
+++ b/website/docusaurus.config.js
@@ -543,10 +543,6 @@ module.exports = {
               label: "Plugin Hub",
             },
             {
-              to: "/events",
-              label: "Events",
-            },
-            {
               to: "/releases",
               label: "Releases",
             },
diff --git a/website/events/2020-12-23-release-apache-apisix-ingress-controller-0.1.0.md b/website/events/2020-12-23-release-apache-apisix-ingress-controller-0.1.0.md
deleted file mode 100644
index b1874c9..0000000
--- a/website/events/2020-12-23-release-apache-apisix-ingress-controller-0.1.0.md
+++ /dev/null
@@ -1,24 +0,0 @@
----
-title: Release Apache APISIX Ingress Controller 0.1.0
----
-
-This release mainly improve basic features, bugfix and adds test cases.
-
-<!--truncate-->
-
-## Core
-
-- Enriched documentation.
-- CI Integration. [#75](https://github.com/apache/apisix-ingress-controller/pull/75) [#80](https://github.com/apache/apisix-ingress-controller/pull/80) [#84](https://github.com/apache/apisix-ingress-controller/pull/84) [#87](https://github.com/apache/apisix-ingress-controller/pull/87) [#89](https://github.com/apache/apisix-ingress-controller/pull/89) [#97](https://github.com/apache/apisix-ingress-controller/pull/97)
-- Support retry when sync failed. [#103](https://github.com/apache/apisix-ingress-controller/pull/103)
-- Support using kustomize install all resources. [#72](https://github.com/apache/apisix-ingress-controller/pull/72)
-- Support command line configuration. [#61](https://github.com/apache/apisix-ingress-controller/pull/61)
-- Support to define SSL by CRD. [#95](https://github.com/apache/apisix-ingress-controller/pull/95)
-
-## Test case
-
-- Add E2E test environment. [#101](https://github.com/apache/apisix-ingress-controller/pull/101)
-
-## Bugfix
-
-- invalid memory address or nil pointer dereference. [#9](https://github.com/api7/seven/pull/9)
diff --git a/website/events/2021-01-19-release-apache-apisix-ingress-controller-0.2.0.md b/website/events/2021-01-19-release-apache-apisix-ingress-controller-0.2.0.md
deleted file mode 100644
index fa2c3dd..0000000
--- a/website/events/2021-01-19-release-apache-apisix-ingress-controller-0.2.0.md
+++ /dev/null
@@ -1,22 +0,0 @@
----
-title: Release Apache APISIX Ingress Controller 0.2.0
----
-
-This release mainly improve basic features, bugfix and adds test cases.
-
-<!--truncate-->
-
-## Core
-
-- Enhanced documentation, easier to read and execute [#129](https://github.com/apache/apisix-ingress-controller/pull/129)
-- API specification for CRDs [#151](https://github.com/apache/apisix-ingress-controller/pull/151)
-- Support Canary plugin (Base on the [feature](https://github.com/apache/apisix/pull/2935) in Apache APISIX) [#13](https://github.com/apache/apisix-ingress-controller/issues/13)
-- Support prometheus metrics [#143](https://github.com/apache/apisix-ingress-controller/pull/143)
-- Support install ingress controller by Helm Chart [#153](https://github.com/apache/apisix-ingress-controller/pull/153)
-- Support reconcile loop. [#149](https://github.com/apache/apisix-ingress-controller/pull/149) [#157](https://github.com/apache/apisix-ingress-controller/pull/157) [#163](https://github.com/apache/apisix-ingress-controller/pull/163)
-- Support namespaces filtering. [#162](https://github.com/apache/apisix-ingress-controller/pull/162)
-- Some Refactor. [#147](https://github.com/apache/apisix-ingress-controller/pull/147) [#155](https://github.com/apache/apisix-ingress-controller/pull/155) [#134](https://github.com/apache/apisix-ingress-controller/pull/134)
-
-## Test case
-
-more e2e case [#156](https://github.com/apache/apisix-ingress-controller/pull/156) [#142](https://github.com/apache/apisix-ingress-controller/pull/142)
diff --git a/website/events/2021-02-09-release-apache-apisix-2.3.md b/website/events/2021-02-09-release-apache-apisix-2.3.md
deleted file mode 100644
index e9d2141..0000000
--- a/website/events/2021-02-09-release-apache-apisix-2.3.md
+++ /dev/null
@@ -1,41 +0,0 @@
----
-title: Release Apache APISIX 2.3
----
-
-<!--truncate-->
-
-### Change
-
-- fix: use luajit by default when run apisix [#3335](https://github.com/apache/apisix/pull/3335)
-- feat: use luasocket instead of curl in etcd.lua [#2965](https://github.com/apache/apisix/pull/2965)
-
-### Core
-
-- :sunrise: feat: support to communicate with etcd by TLS without verification in command line [#3415](https://github.com/apache/apisix/pull/3415)
-- :sunrise: feat: chaos test on route could still works when etcd is down [#3404](https://github.com/apache/apisix/pull/3404)
-- :sunrise: feat: ewma use p2c to improve performance [#3300](https://github.com/apache/apisix/pull/3300)
-- :sunrise: feat: support specifying https in upstream to talk with https backend [#3430](https://github.com/apache/apisix/pull/3430)
-- :sunrise: feat: allow customizing lua_package_path & lua_package_cpath [#3417](https://github.com/apache/apisix/pull/3417)
-- :sunrise: feat: allow to pass SNI in HTTPS proxy [#3420](https://github.com/apache/apisix/pull/3420)
-- :sunrise: feat: support gRPCS [#3411](https://github.com/apache/apisix/pull/3411)
-- :sunrise: feat: allow getting upstream health check status via control API [#3345](https://github.com/apache/apisix/pull/3345)
-- :sunrise: feat: support dubbo [#3224](https://github.com/apache/apisix/pull/3224)
-- :sunrise: feat: load balance by least connections [#3304](https://github.com/apache/apisix/pull/3304)
-
-### Plugin
-
-- :sunrise: feat: kafka-logger implemented reuse kafka producer [#3429](https://github.com/apache/apisix/pull/3429)
-- :sunrise: feat(authz-keycloak): dynamic scope and resource mapping. [#3308](https://github.com/apache/apisix/pull/3308)
-- :sunrise: feat: proxy-rewrite host support host with port [#3428](https://github.com/apache/apisix/pull/3428)
-- :sunrise: feat(fault-injection): support conditional fault injection using nginx variables [#3363](https://github.com/apache/apisix/pull/3363)
-
-### Bugfix
-
-- fix(standalone): require consumer's id to be the same as username [#3394](https://github.com/apache/apisix/pull/3394)
-- fix: support upstream_id & consumer with grpc [#3387](https://github.com/apache/apisix/pull/3387)
-- fix: set conf info when global rule is hit without matched rule [#3332](https://github.com/apache/apisix/pull/3332)
-- fix: avoid caching outdated discovery upstream nodes [#3295](https://github.com/apache/apisix/pull/3295)
-- fix: create the health checker in `access` phase [#3240](https://github.com/apache/apisix/pull/3240)
-- fix: make set_more_retries() work when upstream_type is chash [#2676](https://github.com/apache/apisix/pull/2676)
-
-For more changes, please refer to [Milestone](https://github.com/apache/apisix/milestone/12)
diff --git a/website/events/2021-02-11-release-apache-apisix-ingress-controller-0.3.0.md b/website/events/2021-02-11-release-apache-apisix-ingress-controller-0.3.0.md
deleted file mode 100644
index b17ab7d..0000000
--- a/website/events/2021-02-11-release-apache-apisix-ingress-controller-0.3.0.md
+++ /dev/null
@@ -1,25 +0,0 @@
----
-title: Release Apache APISIX Ingress Controller 0.3.0
----
-
-This release mainly improves the program robustness and adds some features.
-
-<!--truncate-->
-
-## Core
-
-- Support Leader election to let only the leader process resources [#173](https://github.com/apache/apisix-ingress-controller/pull/173);
-- Let Controller itself generates resource ids instead of relying on APISIX [#199](https://github.com/apache/apisix-ingress-controller/pull/199);
-- Change go module name from `github.com/api7/ingress-controller` to `github.com/apache/apisix-ingress-controller` [#220](https://github.com/apache/apisix-ingress-controller/pull/220);
-- Re draw the design diagram [#214](https://github.com/apache/apisix-ingress-controller/pull/214);
-- Support gRPC scheme in ApisixUpstream [#225](https://github.com/apache/apisix-ingress-controller/pull/225);
-- SSL resource cache optimization [#203](https://github.com/apache/apisix-ingress-controller/pull/203);
-
-## Deploy
-
-- Complete the compatibility tests on Amazon EKS, Google Cloud GKE, Ali Cloud ACK and etc [#177](https://github.com/apache/apisix-ingress-controller/pull/177), [#180](https://github.com/apache/apisix-ingress-controller/pull/180), [#183](https://github.com/apache/apisix-ingress-controller/pull/183);
-- Refactor the helm charts, merging ingress-apisix and ingress-apisix-base into apisix-ingress-controller [#213](https://github.com/apache/apisix-ingress-controller/pull/213);
-
-## Test
-
-- Now CI runs e2e test suites in parallel [#172](https://github.com/apache/apisix-ingress-controller/pull/172);
diff --git a/website/events/2021-02-12-release-apache-apisix-dashboard-2.4.md b/website/events/2021-02-12-release-apache-apisix-dashboard-2.4.md
deleted file mode 100644
index 6b75de1..0000000
--- a/website/events/2021-02-12-release-apache-apisix-dashboard-2.4.md
+++ /dev/null
@@ -1,48 +0,0 @@
----
-title: Release Apache APISIX Dashboard 2.4
----
-
-This release mainly improves basic features, bugfix and adds test cases.
-
-`Manager API` 2.4 should be used with [Apache APISIX 2.3](https://github.com/apache/apisix/releases/tag/2.3). It is not recommended to use with other Apache APISIX versions.
-
-<!--truncate-->
-
-### Core
-
-- Support to show warning notification when dashboard version not matching apisix. [#1435](https://github.com/apache/apisix-dashboard/pull/1435)
-- Support mTLS connection to ETCD. [#1437](https://github.com/apache/apisix-dashboard/pull/1437)
-- Support IP allow list. [#1424](https://github.com/apache/apisix-dashboard/pull/1424)
-- Support to get manager-api version through API. [#1429](https://github.com/apache/apisix-dashboard/pull/1429)
-- Support import route from OpenAPI specification3.0. [#1102](https://github.com/apache/apisix-dashboard/pull/1102)
-- Support export route from OpenAPI specification3.0. [#1245](https://github.com/apache/apisix-dashboard/pull/1245)
-- Support string type for the script field in Route. [#1289](https://github.com/apache/apisix-dashboard/pull/1289)
-- Feat: add script_id field in Route.entity. [#1386](https://github.com/apache/apisix-dashboard/pull/1386)
-- Feat: add stop subcommand. [#741](https://github.com/apache/apisix-dashboard/pull/741)
-- Feat: add e2e test coverage. [#1270](https://github.com/apache/apisix-dashboard/pull/1270)
-- Feat: add returning value for HTTP PUT and PATCH methods. [#1322](https://github.com/apache/apisix-dashboard/pull/1322)
-- Feat: user can skip upstream when select service_id [#1302](https://github.com/apache/apisix-dashboard/pull/1302)
-
-### Bugfix
-
-- Fix: add defer recover for goroutines to prevent abnormal crash. [#1419](https://github.com/apache/apisix-dashboard/pull/1419)
-- Fix: add version ldflags when building manager-api in Dockerfile. [#1393](https://github.com/apache/apisix-dashboard/pull/1393)
-- Fix: Upgrade gjson and protobuf to avoid security problem. [#1366](https://github.com/apache/apisix-dashboard/pull/1366)
-- Fix: Incomplete label display. [#1252](https://github.com/apache/apisix-dashboard/pull/1252)
-- Fix: Redirect plugin should not show in route step3 [#1276](https://github.com/apache/apisix-dashboard/pull/1276)
-- Fix: Editing a Service, the upstream info will be lost. [#1347](https://github.com/apache/apisix-dashboard/pull/1347)
-
-### Test Case
-
-- Use ginkgo framework to do backend E2E testing. [#1319](https://github.com/apache/apisix-dashboard/pull/1319)
-- Add action to check the version for release. [#1418](https://github.com/apache/apisix-dashboard/pull/1418)
-- Add test for make build. [#1421](https://github.com/apache/apisix-dashboard/pull/1421)
-- Remove the etcd dependency in part of unit test. [#1169](https://github.com/apache/apisix-dashboard/pull/1469)
-- Skip Cypress binary install when build. [#1248](https://github.com/apache/apisix-dashboard/pull/1248)
-- Enhance plugin schema smoke test [#1261](https://github.com/apache/apisix-dashboard/pull/1261)
-- Delete unnecessary wait in front-end test. [#1370](https://github.com/apache/apisix-dashboard/pull/1370)
-- Add edit the plugin testcase [#1372](https://github.com/apache/apisix-dashboard/pull/1372)
-
-### Doc
-
-- Doc: add document for introducing backend e2e test. [#1381](https://github.com/apache/apisix-dashboard/pull/1381)
diff --git a/website/events/2021-03-05-release-apache-apisix-2.4.md b/website/events/2021-03-05-release-apache-apisix-2.4.md
deleted file mode 100644
index 6629056..0000000
--- a/website/events/2021-03-05-release-apache-apisix-2.4.md
+++ /dev/null
@@ -1,33 +0,0 @@
----
-title: Release Apache APISIX 2.4
----
-
-<!--truncate-->
-
-### Change
-
-- change: global rules should not be executed on the internal api by default [#3396](https://github.com/apache/apisix/pull/3396)
-- change: default to cache DNS record according to the TTL [#3530](https://github.com/apache/apisix/pull/3530)
-
-### Core
-
-- :sunrise: feat: support SRV record [#3686](https://github.com/apache/apisix/pull/3686)
-- :sunrise: feat: add dns discovery [#3629](https://github.com/apache/apisix/pull/3629)
-- :sunrise: feat: add consul kv discovery module [#3615](https://github.com/apache/apisix/pull/3615)
-- :sunrise: feat: support to bind plugin config by `plugin_config_id` [#3567](https://github.com/apache/apisix/pull/3567)
-- :sunrise: feat: support listen http2 with plaintext [#3547](https://github.com/apache/apisix/pull/3547)
-- :sunrise: feat: support DNS AAAA record [#3484](https://github.com/apache/apisix/pull/3484)
-
-### Plugin
-
-- :sunrise: feat: the traffic-split plugin supports `upstream_id` [#3512](https://github.com/apache/apisix/pull/3512)
-- :sunrise: feat(zipkin): support b3 req header [#3551](https://github.com/apache/apisix/pull/3551)
-
-### Bugfix
-
-- fix(chash): ensure retry can try every node [#3651](https://github.com/apache/apisix/pull/3651)
-- fix: script does not work when the route is bound to a service [#3678](https://github.com/apache/apisix/pull/3678)
-- fix: use openssl111 in openresty dir in precedence [#3603](https://github.com/apache/apisix/pull/3603)
-- fix(zipkin): don't cache the per-req sample ratio [#3522](https://github.com/apache/apisix/pull/3522)
-
-For more changes, please refer to [Milestone](https://github.com/apache/apisix/milestone/13)
diff --git a/website/events/2021-03-12-release-apache-apisix-ingress-controller-0.4.0.md b/website/events/2021-03-12-release-apache-apisix-ingress-controller-0.4.0.md
deleted file mode 100644
index 574ff52..0000000
--- a/website/events/2021-03-12-release-apache-apisix-ingress-controller-0.4.0.md
+++ /dev/null
@@ -1,19 +0,0 @@
----
-title: Release Apache APISIX Ingress Controller 0.4.0
----
-
-This release mainly improves the program robustness and adds some features.
-
-<!--truncate-->
-
-## Core
-
-- Support Kubernetes Ingress resources [#250](https://github.com/apache/apisix-ingress-controller/pull/250)
-- Support ApisixRoute v2alpha1 [#262](https://github.com/apache/apisix-ingress-controller/pull/262)
-- Support healthchecks definition [#117](https://github.com/apache/apisix-ingress-controller/issues/117)
-- Support secret controller [#284](https://github.com/apache/apisix-ingress-controller/pull/284)
-- Project optimization [#92](https://github.com/apache/apisix-ingress-controller/issues/92)
-
-## Test
-
-- Add test cases for pkg/kube [#99](https://github.com/apache/apisix-ingress-controller/issues/99)
diff --git a/website/events/2021-04-05-release-apache-apisix-2.5.md b/website/events/2021-04-05-release-apache-apisix-2.5.md
deleted file mode 100644
index c11eea0..0000000
--- a/website/events/2021-04-05-release-apache-apisix-2.5.md
+++ /dev/null
@@ -1,34 +0,0 @@
----
-title: Release Apache APISIX 2.5
----
-
-<!--truncate-->
-
-### Change
-
-- change(zipkin): rearrange the child span [#3877](https://github.com/apache/apisix/pull/3877)
-
-### Core
-
-- :sunrise: feat: support mTLS with etcd [#3905](https://github.com/apache/apisix/pull/3905)
-- :sunrise: feat: upgrade lua-resty-expr/radixtree to support logical expression [#3809](https://github.com/apache/apisix/pull/3809)
-- :sunrise: feat: load etcd configuration when apisix starts [#3799](https://github.com/apache/apisix/pull/3799)
-- :sunrise: feat: let balancer support priority [#3755](https://github.com/apache/apisix/pull/3755)
-- :sunrise: feat: add control api for discovery module [#3742](https://github.com/apache/apisix/pull/3742)
-
-### Plugin
-
-- :sunrise: feat(skywalking):  allow destroy and configure report interval for reporter [#3925](https://github.com/apache/apisix/pull/3925)
-- :sunrise: feat(traffic-split): the upstream pass_host needs to support IP mode [#3870](https://github.com/apache/apisix/pull/3870)
-- :sunrise: feat: Add filter on HTTP methods for consumer-restriction plugin [#3691](https://github.com/apache/apisix/pull/3691)
-- :sunrise: feat: add allow_origins_by_regex to cors plugin [#3839](https://github.com/apache/apisix/pull/3839)
-- :sunrise: feat: support conditional response rewrite [#3577](https://github.com/apache/apisix/pull/3577)
-
-### Bugfix
-
-- fix(error-log-logger): the logger should be run in each process [#3912](https://github.com/apache/apisix/pull/3912)
-- fix: use the builtin server by default [#3907](https://github.com/apache/apisix/pull/3907)
-- fix(traffic-split): binding upstream via upstream_id is invalid [#3842](https://github.com/apache/apisix/pull/3842)
-- fix: correct the validation for ssl_trusted_certificate [#3832](https://github.com/apache/apisix/pull/3832)
-- fix: don't override cache relative headers [#3789](https://github.com/apache/apisix/pull/3789)
-- fix: fail to run `make deps` on macOS [#3718](https://github.com/apache/apisix/pull/3718)
diff --git a/website/events/2021-04-13-release-apisix-ingress-controller-0.5.md b/website/events/2021-04-13-release-apisix-ingress-controller-0.5.md
deleted file mode 100644
index 84cd53a..0000000
--- a/website/events/2021-04-13-release-apisix-ingress-controller-0.5.md
+++ /dev/null
@@ -1,33 +0,0 @@
----
-title: Release Apache APISIX Ingress Controller 0.5
----
-
-<!--truncate-->
-
-A lot of important features are supported in this release, it makes apisix-ingress-controller more powerful and flexible.
-Also, several bugs are fixed so the robustness is also enhanced.
-
-We recommend you to use [Apache APISIX 2.5](https://github.com/apache/apisix/releases/tag/2.5) with this release. Note since CRDs are updated, when
-you upgrade your old release, **manual steps are required to apply the new ApisixRoute**. Please see the instruction `7` in [FAQ](https://github.com/apache/apisix-ingress-controller/blob/master/docs/en/latest/FAQ.md) for more details.
-
-## Core
-
-* Support traffic split feature ([#308](https://github.com/apache/apisix-ingress-controller/pull/308))
-* Support route match exprs ([#304](https://github.com/apache/apisix-ingress-controller/pull/304), [#306](https://github.com/apache/apisix-ingress-controller/pull/306))
-* Support to configure [Ingress](https://kubernetes.io/docs/concepts/services-networking/ingress/) resources in version `extensions/v1beta1` ([#296](https://github.com/apache/apisix-ingress-controller/pull/296), [#315](https://github.com/apache/apisix-ingress-controller/pull/315))
-* Add name fields when generating APISIX Routes and Upstreams ([#333](https://github.com/apache/apisix-ingress-controller/pull/333))
-* Support to use remote addrs as route match conditions ([#347](https://github.com/apache/apisix-ingress-controller/pull/347))
-* Schema for ApisixRoute CRD ([#345](https://github.com/apache/apisix-ingress-controller/pull/345))
-
-## Fix
-
-* Sometimes ApisixRoute update is ineffective ([#319](https://github.com/apache/apisix-ingress-controller/pull/319))
-* Priority field is not passed to APISIX ([#329](https://github.com/apache/apisix-ingress-controller/pull/329))
-* Route rule name in ApisixRoute can be duplicated ([#330](https://github.com/apache/apisix-ingress-controller/pull/330))
-* Use `PUT` instead of `PATCH` method when updating resources ([#353](https://github.com/apache/apisix-ingress-controller/pull/353))
-* Secrets controller doesn't push the newest cert and priv key to APISIX ([#337](https://github.com/apache/apisix-ingress-controller/pull/337))
-
-## Test
-
-* Use [Kind](https://kind.sigs.k8s.io/) to run e2e suites ([#331](https://github.com/apache/apisix-ingress-controller/pull/331))
-* Add e2e test cases for plugins redirect, uri-blocker, fault-injection, request-id, limit-count, echo, cors, response-rewrite, proxy-rewrite ([#320](https://github.com/apache/apisix-ingress-controller/pull/320), [#327](https://github.com/apache/apisix-ingress-controller/pull/327), [#328](https://github.com/apache/apisix-ingress-controller/pull/328), [#334](https://github.com/apache/apisix-ingress-controller/pull/334), [#336](https://github.com/apache/apisix-ingress-controller/pull/336), [...]
diff --git a/website/events/2021-04-22-release-apache-apisix-dashboard-2.6.md b/website/events/2021-04-22-release-apache-apisix-dashboard-2.6.md
deleted file mode 100644
index b5c718c..0000000
--- a/website/events/2021-04-22-release-apache-apisix-dashboard-2.6.md
+++ /dev/null
@@ -1,47 +0,0 @@
----
-title: Release Apache APISIX Dashboard 2.6
----
-
-<!--truncate-->
-This release mainly improves UI and UE, bugfix and adds test cases.
-
-`Manager API` 2.6 should be used with [Apache APISIX 2.5](https://apisix.apache.org/downloads/). It is not recommended to use with other Apache APISIX versions.
-
-### Core
-
-- Change: remove listen.host from api/conf/conf.yaml [#1767](https://github.com/apache/apisix-dashboard/pull/1767)
-- Change: remove ID of consumer [#1745](https://github.com/apache/apisix-dashboard/pull/1745)
-- Feat: Support duplicate one existing Route [#1558](https://github.com/apache/apisix-dashboard/pull/1558)
-- Feat: add response header in debug view [#1691](https://github.com/apache/apisix-dashboard/pull/1691)
-- Feat: add basic-auth UI Form [#1718](https://github.com/apache/apisix-dashboard/pull/1718)
-- Feat: add limit-count plugin form [#1739](https://github.com/apache/apisix-dashboard/pull/1739)
-- Feat: add referer-restriction plugin form [#1727](https://github.com/apache/apisix-dashboard/pull/1727)
-- Feat: added cors plugin form [#1733](https://github.com/apache/apisix-dashboard/pull/1733)
-- Feat: added limit-req plugin form [#1732](https://github.com/apache/apisix-dashboard/pull/1732)
-- Feat: add api-breaker plugin form [#1730](https://github.com/apache/apisix-dashboard/pull/1730)
-- Feat: add proxy-mirror plugin form [#1725](https://github.com/apache/apisix-dashboard/pull/1725)
-- Feat: add limit-conn plugin form [#1728](https://github.com/apache/apisix-dashboard/pull/1728)
-- Feat: refactor upstream form module [#1726](https://github.com/apache/apisix-dashboard/pull/1726)
-- Feat: added types for Plugins [#1736](https://github.com/apache/apisix-dashboard/pull/1736)
-- Feat: support auto build rpm package for dashboard [#1766](https://github.com/apache/apisix-dashboard/pull/1766)
-- Feat: improve UI and UE ([#1674](https://github.com/apache/apisix-dashboard/pull/1674), [#1702](https://github.com/apache/apisix-dashboard/pull/1702), [#1707](https://github.com/apache/apisix-dashboard/pull/1707),[#1715](https://github.com/apache/apisix-dashboard/pull/1715), [#1723](https://github.com/apache/apisix-dashboard/pull/1723), [#1782](https://github.com/apache/apisix-dashboard/pull/1782), [#1610](https://github.com/apache/apisix-dashboard/pull/1610), [#1764](https://github.co [...]
-
-### Bugfix
-
-- Fix: unable to export route with nil methods field [#1673](https://github.com/apache/apisix-dashboard/pull/1673)
-- Fix: incorrect conversion between integer types [#1753](https://github.com/apache/apisix-dashboard/pull/1753)
-- Fix: user login request should remove its own prefix option [#1701](https://github.com/apache/apisix-dashboard/pull/1701)
-- Fix: show correct health checker [#1784](https://github.com/apache/apisix-dashboard/pull/1784)
-
-### Test Case
-
-- Test: use gomega match assertion [#1678](https://github.com/apache/apisix-dashboard/pull/1678)
-- Test: updated cli_test.sh according reg ex [#1696](https://github.com/apache/apisix-dashboard/pull/1696)
-- Test: reduce FE e2e ci time [#1698](https://github.com/apache/apisix-dashboard/pull/1698) [#1762](https://github.com/apache/apisix-dashboard/pull/1762)
-- Test: adding a retry mechanism to FE testing [#1752](https://github.com/apache/apisix-dashboard/pull/1752)
-- Test: fix online debug test case [#1761](https://github.com/apache/apisix-dashboard/pull/1761)
-- Test: write backend e2e with ginkgo ([#1663](https://github.com/apache/apisix-dashboard/pull/1663), [#1677](https://github.com/apache/apisix-dashboard/pull/1677), [#1675](https://github.com/apache/apisix-dashboard/pull/1675), [#1676](https://github.com/apache/apisix-dashboard/pull/1676), [#1704](https://github.com/apache/apisix-dashboard/pull/1704), [#1755](https://github.com/apache/apisix-dashboard/pull/1755))
-
-### Doc
-
-- Docs: add more details and examples to import openapi guide [#1672](https://github.com/apache/apisix-dashboard/pull/1672)
diff --git a/website/events/2021-05-24-release-apache-apisix-2.6.md b/website/events/2021-05-24-release-apache-apisix-2.6.md
deleted file mode 100644
index 5326fa0..0000000
--- a/website/events/2021-05-24-release-apache-apisix-2.6.md
+++ /dev/null
@@ -1,45 +0,0 @@
----
-title: Release Apache APISIX 2.6
-keywords:
-- API 网关
-- APISIX
-- Apache APISIX
-- Release Notes
-- APISIX 2.6
-description: Apache APISIX 2.6 is released on May 24th, 2021. This article is the release notes for Apache APISIX 2.6, it contains changes, core feature updates, plugins updates and bug fixes information of Apache APISIX 2.6.
----
-
-<!--truncate-->
-
-### Change
-
-- change(prometheus): redesign the latency metrics & update grafana [#3993](https://github.com/apache/apisix/pull/3993)
-- change(prometheus): don't expose metrics to internet [#3994](https://github.com/apache/apisix/pull/3994)
-- change(limit-count): ensure redis cluster name is set correctly [#3910](https://github.com/apache/apisix/pull/3910)
-- change: drop support of OpenResty 1.15 [#3960](https://github.com/apache/apisix/pull/3960)
-
-### Core
-
-- :sunrise: feat: support passing different host headers in multiple nodes [#4208](https://github.com/apache/apisix/pull/4208)
-- :sunrise: feat: add 50x html for error page [#4164](https://github.com/apache/apisix/pull/4164)
-- :sunrise: feat: support to use upstream_id in stream_route [#4121](https://github.com/apache/apisix/pull/4121)
-- :sunrise: feat: support client certificate verification [#4034](https://github.com/apache/apisix/pull/4034)
-- :sunrise: feat: add nacos support [#3820](https://github.com/apache/apisix/pull/3820)
-- :sunrise: feat: patch tcp.sock.connect to use our DNS resolver [#4114](https://github.com/apache/apisix/pull/4114)
-
-### Plugin
-
-- :sunrise: feat(redirect): support uri encoding [#4244](https://github.com/apache/apisix/pull/4244)
-- :sunrise: feat(key-auth): allow customizing header [#4013](https://github.com/apache/apisix/pull/4013)
-- :sunrise: feat(response-rewrite): allow using variable in the header [#4194](https://github.com/apache/apisix/pull/4194)
-- :sunrise: feat(ext-plugin): APISIX can support Java, Go and other languages to implement custom plugin [#4183](https://github.com/apache/apisix/pull/4183)
-
-### Bugfix
-
-- fix(DNS): support IPv6 resolver [#4242](https://github.com/apache/apisix/pull/4242)
-- fix(healthcheck): only one_loop is needed in the passive health check report [#4116](https://github.com/apache/apisix/pull/4116)
-- fix(traffic-split): configure multiple "rules", the request will be confused between upstream [#4092](https://github.com/apache/apisix/pull/4092)
-- fix: ensure upstream with domain is cached [#4061](https://github.com/apache/apisix/pull/4061)
-- fix: be compatible with the router created before 2.5 [#4056](https://github.com/apache/apisix/pull/4056)
-- fix(standalone): the conf should be available during start [#4027](https://github.com/apache/apisix/pull/4027)
-- fix: ensure atomic operation in limit-count plugin [#3991](https://github.com/apache/apisix/pull/3991)
diff --git a/website/events/2021-05-27-release-apache-apisix-dashboard-2.6.1.md b/website/events/2021-05-27-release-apache-apisix-dashboard-2.6.1.md
deleted file mode 100644
index bc76007..0000000
--- a/website/events/2021-05-27-release-apache-apisix-dashboard-2.6.1.md
+++ /dev/null
@@ -1,20 +0,0 @@
----
-title: Release Apache APISIX Dashboard 2.6.1
-keywords:
-- API 网关
-- APISIX
-- Apache APISIX
-- Release Notes
-- APISIX Dashboard 2.6.1
-description: Apache APISIX Dashboard 2.6.1 is released on May 27th, 2021. This article is the release notes for Apache APISIX Dashboard 2.6.1, it contains bug fixes information of Apache APISIX Dashboard 2.6.1.
----
-
-<!--truncate-->
-This release mainly contains bugfixes.
-
-`Manager API` 2.6.1 should be used with [Apache APISIX 2.5](https://apisix.apache.org/downloads/). It is not recommended to use with other Apache APISIX versions.
-
-### Bugfix
-
-- Fix: use remote address instead of client ip [#1831](https://github.com/apache/apisix-dashboard/pull/1831)
-- Fix: turn off online debug [#1903](https://github.com/apache/apisix-dashboard/pull/1903)
diff --git a/website/events/2021-06-15-release-apache-apisix-dashboard-2.7.md b/website/events/2021-06-15-release-apache-apisix-dashboard-2.7.md
deleted file mode 100644
index 1e2a850..0000000
--- a/website/events/2021-06-15-release-apache-apisix-dashboard-2.7.md
+++ /dev/null
@@ -1,42 +0,0 @@
----
-title: Release Apache APISIX Dashboard 2.7
-keywords:
-- API 网关
-- APISIX
-- Apache APISIX
-- Release Notes
-- APISIX Dashboard 2.7
-description: Apache APISIX Dashboard 2.7 is released on June 15th, 2021. This article is the release notes for Apache APISIX Dashboard 2.7, it contains core features updates, bug fixes, and test cases updates information of Apache APISIX Dashboard 2.7.
----
-
-<!--truncate-->
-This release mainly improves basic features, bugfix and adds test cases.
-
-`Manager API` 2.7 should be used with [Apache APISIX 2.6](https://apisix.apache.org/downloads/). It is not recommended to use with other Apache APISIX versions.
-
-### Core
-
-- Feat: support HTTPS for Manager API [#1824](https://github.com/apache/apisix-dashboard/pull/1824)
-- Feat: run manager-api as an OS agnostic service [#1667](https://github.com/apache/apisix-dashboard/pull/1667)
-- Feat: refactor Plugin Orchestration [#1813](https://github.com/apache/apisix-dashboard/pull/1813)
-- Feat: add the service page upstream select option [#1633](https://github.com/apache/apisix-dashboard/pull/1633)
-- Feat: improve the Duplicate Route feature [#1833](https://github.com/apache/apisix-dashboard/pull/1833)
-- Feat: add api of config migrate, export and import [#1893](https://github.com/apache/apisix-dashboard/pull/1893)
-
-### Bugfix
-
-- Fix: can not configure upstream with no nodes [#1812](https://github.com/apache/apisix-dashboard/pull/1812)
-- Fix: add missing label in nodes component [#1823](https://github.com/apache/apisix-dashboard/pull/1823)
-- Fix: when create the upstream, some properties can still be edited on the preview page bug [#1828](https://github.com/apache/apisix-dashboard/pull/1828)
-- Fix: default cors plugin formdata validation error [#1855](https://github.com/apache/apisix-dashboard/pull/1855)
-- Fix: generate a uid when post a route without id [#1883](https://github.com/apache/apisix-dashboard/pull/1883)
-- Fix: route page Portable [#1887](https://github.com/apache/apisix-dashboard/pull/1887)
-- Fix: invalid import issues [#1899](https://github.com/apache/apisix-dashboard/pull/1899)
-- Fix: efficient error handling in manager-api including graceful shutdown, self contained methods. [#1814](https://github.com/apache/apisix-dashboard/pull/1814)
-- Fix: regex & omit vars when no value [#1921](https://github.com/apache/apisix-dashboard/pull/1921)
-
-### Test Case
-
-- Test: fix unstable FE E2E test case [#1826](https://github.com/apache/apisix-dashboard/pull/1826)
-- CI: fix gitleaks not allowed running [#1897](https://github.com/apache/apisix-dashboard/pull/1897)
-- Test: refactor FE E2E test case ([#1844](https://github.com/apache/apisix-dashboard/pull/1844) to [#1878](https://github.com/apache/apisix-dashboard/pull/1878) and a series of PRs)
diff --git a/website/events/2021-06-25-release-apache-apisix-2.7.md b/website/events/2021-06-25-release-apache-apisix-2.7.md
deleted file mode 100644
index 968bfad..0000000
--- a/website/events/2021-06-25-release-apache-apisix-2.7.md
+++ /dev/null
@@ -1,44 +0,0 @@
----
-title: Release Apache APISIX 2.7
-keywords:
-- API 网关
-- APISIX
-- Apache APISIX
-- Release Notes
-- APISIX 2.7
-description: Apache APISIX 2.7 is released on June 25th, 2021. This article is the release notes for Apache APISIX 2.7, it contains changes, core feature updates, plugins updates and bug fixes information of Apache APISIX 2.7.
----
-
-<!--truncate-->
-
-### Change
-
-- change: check metadata_schema with check_schema like the other schema [#4381](https://github.com/apache/apisix/pull/4381)
-- change(echo): remove odd auth_value [#4055](https://github.com/apache/apisix/pull/4055)
-- fix(admin): correct the resources' count field and change its type to integer [#4385](https://github.com/apache/apisix/pull/4385)
-
-### Core
-
-- :sunrise: feat(stream): support client certificate verification [#4445](https://github.com/apache/apisix/pull/4445)
-- :sunrise: feat(stream): accept tls over tcp [#4409](https://github.com/apache/apisix/pull/4409)
-- :sunrise: feat(stream): support domain in the upstream [#4386](https://github.com/apache/apisix/pull/4386)
-- :sunrise: feat(cli): wrap nginx quit cmd [#4360](https://github.com/apache/apisix/pull/4360)
-- :sunrise: feat: allow to set custom timeout for route [#4340](https://github.com/apache/apisix/pull/4340)
-- :sunrise: feat: nacos discovery support group [#4325](https://github.com/apache/apisix/pull/4325)
-- :sunrise: feat: nacos discovery support namespace [#4313](https://github.com/apache/apisix/pull/4313)
-
-### Plugin
-
-- :sunrise: feat(client-control): set client_max_body_size dynamically [#4423](https://github.com/apache/apisix/pull/4423)
-- :sunrise: feat(ext-plugin): stop the runner with SIGTERM [#4367](https://github.com/apache/apisix/pull/4367)
-- :sunrise: feat(limit-req) support nodelay [#4395](https://github.com/apache/apisix/pull/4395)
-- :sunrise: feat(mqtt-proxy): support domain [#4391](https://github.com/apache/apisix/pull/4391)
-- :sunrise: feat(redirect): support appending query string [#4298](https://github.com/apache/apisix/pull/4298)
-
-### Bugfix
-
-- fix: solve memory leak when the client aborts [#4405](https://github.com/apache/apisix/pull/4405)
-- fix(etcd): check res.body.error before accessing the data [#4371](https://github.com/apache/apisix/pull/4371)
-- fix(ext-plugin): when token is stale, refresh token and try again [#4345](https://github.com/apache/apisix/pull/4345)
-- fix(ext-plugin): pass environment variables [#4349](https://github.com/apache/apisix/pull/4349)
-- fix: ensure the plugin is always reloaded [#4319](https://github.com/apache/apisix/pull/4319)
diff --git a/website/src/pages/index.js b/website/src/pages/index.js
index 9e9ba51..7f72807 100644
--- a/website/src/pages/index.js
+++ b/website/src/pages/index.js
@@ -120,7 +120,7 @@ const EventsSection = () => {
     .map((event) => {
       const publishTime = event.fileName.slice(0, 10);
       const splittedFileName = event.fileName.split("-");
-      const url = `/events/${splittedFileName
+      const url = `/blog/${splittedFileName
         .slice(0, 3)
         .join("/")}/${splittedFileName.slice(3).join("-")}`;
       return (
@@ -142,7 +142,7 @@ const EventsSection = () => {
           <h1 className="color-primary">Events</h1>
         </div>
         <div className="events-view-all-button">
-          <a href="/events" target="_blank">
+          <a href="blog/tags/Events" target="_blank">
             <u>View All Events</u>
           </a>
         </div>
diff --git a/website/static/data/events.json b/website/static/data/events.json
index bf27d13..0b7dfce 100644
--- a/website/static/data/events.json
+++ b/website/static/data/events.json
@@ -1,13 +1,31 @@
 [
+  {"title": "社区周报|新晋 committer 两位,功能亮点更新进行中",
+    "fileName": "2021-09-15-weekly-report"
+  },
+  {"title": "Apache APISIX 2.9 Release",
+    "fileName": "2021-08-27-release-apache-apisix-2.9"
+  },
   {
-    "title": "8.21 Apache APISIX Meetup (Shanghai)",
-    "fileName": "2021-08-21-shanghai-meetup"
+    "title": "ApacheCon Asia 2021 Recap",
+    "fileName": "2021-08-24-shanghai-meetup-recap"
+  },
+  {
+    "title": "ApacheCon Asia 2021",
+    "fileName": "2021-08-23-ApacheCon-Asia-2021"
   },
   {
     "title": "ApacheCon Asia 2021",
     "fileName": "2021-08-23-ApacheCon-Asia-2021"
   },
   {
+    "title": "8.21 Apache APISIX Meetup (Shanghai)",
+    "fileName": "2021-08-21-shanghai-meetup"
+  },
+  {
+    "title": "ApacheCon Asia",
+    "fileName": "2021-07-25-apachecon-asia"
+  },
+  {
     "title": "Release Apache APISIX Dashboard 2.7",
     "fileName": "2021-06-15-release-apache-apisix-dashboard-2.7"
   },