This is an automated email from the ASF dual-hosted git repository.
sylviasu 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 15e93ae4492 docs: update links and content. (#1309)
15e93ae4492 is described below
commit 15e93ae4492989e2b295d51bbbd3df689e4436ea
Author: Ming Wen <[email protected]>
AuthorDate: Sat Sep 3 13:50:39 2022 +0800
docs: update links and content. (#1309)
* docs: update links and content.
* Update Why-Apache-APISIX-chose-Nginx-and-Lua.md
---
.../blog/2021/06/28/why-we-need-Apache-APISIX.md | 168 ++++++--------------
.../08/25/Why-Apache-APISIX-chose-Nginx-and-Lua.md | 2 +-
...xperience-share-from-Apache-APISIX-committer.md | 2 +-
...n-source-gateway-and-ingress-controller-fast.md | 2 +-
.../blog/2021/06/28/why-we-need-Apache-APISIX.md | 171 ++++++---------------
.../zh/blog/2021/07/21/Apache-APISIX-Kubernetes.md | 2 +-
...use-of-plugin-orchestration-in-Apache-APISIX.md | 2 +-
blog/zh/blog/2021/08/11/interview-TuZhengsong.md | 2 +-
blog/zh/blog/2021/08/23/ApacheCon-Asia-2021.md | 4 +-
.../08/25/Why-Apache-APISIX-chose-Nginx-and-Lua.md | 4 +-
.../2021/11/30/use-apisix-ingress-in-kubesphere.md | 6 +-
.../blog/2022/07/30/why-we-need-apache-apisix.md | 6 +-
...m-OpenSource-Commercialization-by-Apache-Way.md | 2 +-
...che-APISIX-From-OpenSource-Commercialization.md | 2 +-
.../articles/Apache-APISIX-Incubator-Journey.md | 2 +-
website/articles/The-Appeal-of-OpenSource.md | 4 +-
16 files changed, 114 insertions(+), 267 deletions(-)
diff --git a/blog/en/blog/2021/06/28/why-we-need-Apache-APISIX.md
b/blog/en/blog/2021/06/28/why-we-need-Apache-APISIX.md
index db93c62a23d..53e5f9ab686 100644
--- a/blog/en/blog/2021/06/28/why-we-need-Apache-APISIX.md
+++ b/blog/en/blog/2021/06/28/why-we-need-Apache-APISIX.md
@@ -4,7 +4,7 @@ slug: 2021/06/28/why-we-need-apache-apisix
author: Yuansheng Wang
authorURL: "https://github.com/membphis"
authorImageURL: "https://avatars.githubusercontent.com/u/6814606?v=4"
-keywords:
+keywords:
- APISIX
- Kong
- Nginx
@@ -19,165 +19,91 @@ tags: [Ecosystem]
<!--truncate-->
-:::tip
+In the cloud-native era, dynamic capability and observability have become the
standards for measuring API gateways. Apache APISIX has been following in the
footsteps of cloud-native since its inception. However, as a new-generation API
gateway that was born just three years ago, why can Apache APISIX stand out
from NGINX, which has been born for more than 20 years, and Kong, which has
been open source for 8 years, and become the most popular and active gateway in
the cloud-native era? Th [...]
-For the latest version, please see: [Why do you need Apache APISIX when you
have NGINX and
Kong?](https://apisix.apache.org/blog/2022/07/30/why-we-need-apache-apisix/)
+## NGINX and Kong's Disadvantages
-:::
+In the era of monolithic services, NGINX can handle most scenarios, but in the
cloud-native era, NGINX has two problems due to its architecture:
-Hello everyone, I'm happy to share, "Why do you need Apache APISIX when you
have NGINX and Kong."
+- First, NGINX does not support cluster management. Almost every Internet
manufacturer has its own NGINX configuration management system, and there is no
unified solution.
+- The second is that NGINX does not support hot reloading of configurations.
If a company modifies the configuration of NGINX, it can take more than half an
hour to reload NGINX. And under the Kubernetes system, the upstream will change
frequently. If NGINX is used, the service needs to be restarted frequently,
which is unacceptable for enterprises.
-We are doing a replacement project for NGINX and Kong because of the
background of our backend architecture evolution. So I will start by sharing
with you the backend architecture evolution process, which is very important.
+The emergence of Kong solves the shortcomings of NGINX, but brings new
problems:
-
+- Kong needs to rely on PostgreSQL or Cassandra database, which makes Kong's
entire architecture very bloated and will bring a high availability problem to
the enterprise. If the database fails, the entire API Gateway fails.
+- Kong's routing uses traversal lookup. When there are more than a thousand
routes in the gateway, its performance will drop dramatically.
-First of all, I would like to introduce myself. My name is Yuansheng Wang. I
wrote an e-book called "OpenResty Best Practices" in 2015 and formed a
community of over 10,000 people through this book. Since then, I have become
increasingly interested in the open-source itself. Before 2015, I was mainly a
user of open-source software, then slowly became a community co-organizer, and
then later became a community leader.
+The emergence of APISIX solves all the above problems and becomes the most
perfect API gateway in the cloud-native era. So what exactly are the advantages
of Apache APISIX? Why can it become the most active API gateway in the world in
just three years?
-
+## Advantages of Apache APISIX
-I've been a teacher and, eventually, a community leader. In 2019, my partner
Ming Wen and I founded API7.ai Inc, an open source-based company. This company
carries a lot of unique ideas for both of us, and we can also say that we are
doing the ideals of every ordinary programmer, not wanting to be mediocre 996.
I often tell others that my dream is to "engrave my name into the history
books," but the sad thing is that human beings no longer need history books.
+### Excellent architecture
-
+First, Apache APISIX has excellent architecture, and many applications are now
migrating to microservices and containerization, forming a new cloud-native
era. Cloud-native, as the current technology trend, will rewrite the technical
architecture of traditional enterprises. And APISIX has followed the technology
trend since its inception and designed it as cloud-native architecture:
-This is our team, we mainly collaborate remotely, and it's harder to get
everyone together. When there were only five or six people in the early stages
of the company, it was relatively easy to get the team together, but it hasn't
been together since this year, and this is the most together we've had so far
this year (but there are still a few students who didn't make it together).
+
-As a technology-driven company, technology has a big say there, and respect
for technology starts with respect for technical talents. So there is no 996,
no punching in and out, remote office, welcome to contact us, look forward to
dreaming and ideal you to join our company.
+As shown in the figure above, the left and right are the Data Plane and the
Control Plane of APISIX:
-
+- Data Plane: Based on NGINX's network library (without using NGINX's route
matching, static configuration, and C modules), use Lua and NGINX to
dynamically control request traffic;
+- Control Plane: use etcd to store and synchronize gateway configuration data,
administrators can notify all data plane nodes in milliseconds through Admin
API or Dashboard.
-The topic of this talk needs some background, so let's start with the history
of backend architecture evolution. First, let's review this diagram, the right
part from top to bottom is not a specific data flow diagram. Instead, it is the
history of our backend architecture evolution. Spring Cloud architecture mainly
serves JAVA language developers. Kubernetes is a container orchestration to
support any language and the recent community hot topic service grid.
+When updating data, Kong uses the polling method of the database, but it may
take 5-10 seconds to obtain the latest configuration; while APISIX uses the
method of monitoring etcd configuration changes, which can control the time in
milliseconds.
-I often ask colleagues, let's look at the next five years, or even ten years
later, which architecture is the ultimate solution? From the current
information, the service mesh will probably win. Even if it has many problems,
I believe we could solve them.
+Since both APISIX and etcd support multi-point deployment, in the current
architecture of APISIX, any unexpected downtime of any service will not affect
the ability of APISIX to provide services accurately.
-
+### Perfect ecosystem
-At the beginning of the venture, it was exciting to go through this diagram in
my head. We were able to see that as we gradually iterated on the backend
architecture, we introduced a variety of different components. For example,
when we got to SOA, a service-oriented architecture, we introduced reverse
proxy components, usually NGINX and HAProxy. When we iterated to microservice
architecture, we usually chose some more modern API gateway products, such as
Kong and Traefik. Of course, som [...]
+The following figure shows the ecological map of APISIX. From this figure, we
can accurately see that the L7 protocols that APISIX already supports include
HTTP(S), HTTP2, Dubbo and IoT protocol MQTT, etc. The L4 protocol includes
TCP/UDP.
-As the backend architecture continues to iterate and enters the Kubernetes
era, the traffic portal Ingress will use the official Kubernetes Ingress by
default, based on the NGINX local configuration file. Some companies in China
are also using Traefik as Ingress, which has a lot to do with the large base of
Golang developers in China.
+The right part is some open source or SaaS services, such as SkyWalking,
Prometheus, Vault, etc. At the bottom are the more common operating system
environments, cloud vendors, and hardware environments. As open source
software, APISIX also supports running on ARM64 servers.
-Let's look at the left side of the more interesting JAVA. Spring Cloud's
built-in API gateway has experienced Zuul and Zuul2, which are still not good:
in performance and architecture, so Spring Cloud officially launched a new
project, Spring Cloud Gateway, the final formation of the family bucket
solution.
+
-Finally, the service mesh has formed a choice Istio (CP) and Envoy (DP) in the
bottom right part of the service mesh. Later we see the Alibaba open-source
MOSN, in a nutshell: the Golang version of Envoy.
+APISIX not only supports many protocols and operating systems, but also
supports multi-language programming plug-ins. When it first came out, APISIX
only supported the use of the Lua language to write plug-ins. In this case,
developers need to master the technology stack related to Lua and NGINX.
However, Lua and NGINX are relatively niche technologies with few developers.
Therefore, we have supported multi-language development plug-ins on APISIX, and
have officially supported languages [...]
-
+
-Reviewing the previous architecture evolution diagram, I believe you have
found out where the problem is. From top to bottom, from left to right, for
different scenarios, we finally "reasonably" introduced various components to
solve our problems, the architect's rule of survival: choose the most suitable
at the moment.
+### Active community
-When we have few tools, we always compromise between functionality, dynamics,
performance, etc. Although we have long been accustomed to and even numb to the
rapid development of IT technology, are they still the most appropriate
solution today?
+The figure below is the contributor growth curve, where the horizontal axis
represents the timeline and the vertical axis represents the total number of
contributors. We can see that the two projects, Apache APISIX and Kong, are
relatively more active. Apache APISIX has maintained a very good growth rate
from the first day, and is growing rapidly at a rate close to twice that of
Kong, and the number of contributors has exceeded Kong, which shows the
popularity of APISIX. Of course, there [...]
-
+
-As you can see, these are NGINX drawbacks, such as NGINX's low activity
community:
+## APISIX Application Scenario
-- The NGINX repository in Github is only a mirror.
-- The GitHub Issue feature is disabled.
-- It is impossible to submit an issue.
-- The official team will not merge even if you submit a PR.
+From the figure below, I believe you have already seen the goal of APISIX:
**unified proxy infrastructure**.
-In addition, NGINX is weak in its routing. For example, if I want to do a
canary release based on a request parameter such as id, you will find that
NGINX is entirely unable to achieve it. So we can see a lot of small
open-source projects. As long as the above canary release scenario is solved,
it can be an independent open source project. In addition, gRPC calls are
becoming increasingly popular in microservice calls, but NGINX support for it
is only "simple to use."
+
-Finally, almost every Internet vendor has its own NGINX configuration system
team for the NGINX cluster management. Although the system is similar, there is
no unified solution. More than a decade has been blank.
+You may have questions: APISIX has to support so many scenarios, will APISIX
become different?
-[Kong](https://static.apiseven.com/202108/1646300936515-b20593d2-db75-49f1-869b-a0d5bc757eba.jpg)
+Because the core of APISIX is a high-performance proxy service, it does not
bind any environment properties. When it evolves into products such as Ingress,
service mesh, etc., all external services cooperate with APISIX, and it is the
external program that changes rather than APISIX itself. The following will
introduce to you step-by-step how APISIX supports these scenarios.
-Before talking further about Kong, I would like to share with you what
cloud-native is. This word has existed for a long time, but there has been no
unified and clear definition until now. I synthesize several cloud vendors'
descriptions and outline two main cloud-native features: first, it should
support containers, and second, it should support flexible and scalable
deployment. I think Kong does not fully meet the second. For example, the
official central PostgreSQL relational database [...]
+### Load Balancer and API Gateway
-The architecture is hard to choose.
+The first is for traditional LB and API gateway scenarios. Because APISIX is
implemented based on NGINX + LuaJIT, it has features such as high performance
and security, and also supports dynamic SSL certificate offloading, SSL
handshake optimization and other functions. In terms of load balancing service
capabilities, it also performs better. Switching from NGINX to APISIX will not
degrade performance, but also enjoy the improved management efficiency brought
about by features such as dy [...]
-
+### Microservice Gateway
-Finally, here is a summary of the problems with NGINX and Kong.
+APISIX currently supports the writing of extension plug-ins in multiple
languages, which can solve the main problems faced by east-west microservice
API gateways - heterogeneous multi-language and general problems. The built-in
supported service registries include Nacos, etcd, Eureka, etc., as well as the
standard DNS method, which can smoothly replace the microservice API gateways
such as Zuul, Spring Cloud Gateway, and Dubbo.
-- NGINX and Kong both have different application scenarios.
-- NGINX lacks an official cluster management solution.
-- Kong's control plane is not entirely cloud-native architecture.
+### Kubernetes Ingress
-Before introducing the open-source API Gateway Apache APISIX, we must thank
the two products above for thinking on the shoulders of giants, giving us a
higher starting point from the beginning.
+At present, the official Kubernetes Ingress Controller project of K8s is
mainly based on the NGINX configuration file method, so it is slightly
insufficient in routing capability and loading mode and has some obvious
disadvantages. For example, when adding or modifying any API, you need to
restart the service to complete the update of the new NGINX configuration, but
the restart of the service has a great impact on the online traffic.
-
+The [APISIX Ingress
Controller](https://apisix.apache.org/zh/docs/ingress-controller/getting-started/)
perfectly solves all the problems mentioned above: it supports full dynamics
and does not need to restart loading. At the same time, it inherits all the
advantages of APISIX and also supports native Kubernetes CRD, which is
convenient for users to migrate.
-The left and right of this diagram are DP (Data Plane) and CP (Control Plane),
the same as the familiar backend service system. APISIX did not try to build
something new by itself from the first day of the architecture, so we chose the
most mature etcd for the configuration center.
+
-In this architecture, you can't find a single point. Therefore, any abnormal
downtime of any of the services here will not affect APISIX's ability to
provide services to the public. Furthermore, when every point in the overall
architecture supports high availability, the high stability of the user's
production system is effortless.
+### Service mesh
-
+In the next five to ten years, the service mesh architecture based on the
cloud-native model architecture will begin to emerge. APISIX also started to
lock the track in advance. After research and technical analysis, APISIX has
supported the xDS protocol, and APISIX Mesh was born, and APISIX also has a
place in the field of service mesh.
-The above picture is a diagram of the APISIX Ecosystem, from which you can see
what currently supports peripheral ecologies. On the left side are the
supported protocols. You can see the standard Layer 7 protocols such as
HTTP(S), HTTP2, Dubbo, QUIC, IoT protocol MQTT, and the Layer 4 protocols such
as TCP/UDP. On the right are some open source or SaaS services such as Apache
SkyWalking, Prometheus, HashiCorp Vault, etc. Below are some common OS
environments, cloud vendors, and hardware [...]
+
-
+## Summary
-To give you a brief report on the current state of APISIX, APISIX has become
the most active open-source API gateway project in the world in the two years
since it became open source, and this state has been going on for more than a
year. Remember the bottom sentence, APISIX has been **production available,
with better features, performance, and architecture across the board than
Kong**. In September 2019, Ke Holdings Inc already used the API Management
Platform APISIX project in product [...]
+It has been three years since the first day when Apache APISIX was
open-sourced. The highly active community and actual user cases have proved
that APISIX is the most perfect API gateway in the cloud-native era. By reading
this article, I believe you have a more comprehensive understanding of APISIX
and look forward to using APISIX as your API gateway in a production
environment.
-
-
-According to this Contributor Over Time graph, the horizontal coordinate is
the timeline, and the vertical coordinate is the total number of contributors.
We can see that APISIX and Kong are two relatively more active projects. APISIX
has been growing at a phenomenal rate since the first day of open source and is
growing at nearly twice the rate of Kong, which shows how popular APISIX is. Of
course, there are many other ways to evaluate the activity of a project, such
as checking monthly [...]
-
-[APISIX
Advantages](https://static.apiseven.com/202108/1646300936531-618d6784-b8a6-4dbd-ae46-3d62b6ccabe2.jpg)
-
-After our actual customer visits, the feature of supporting multiple languages
is essential. After all, many companies have their standard technology stacks,
and many are blank for NGINX C and Lua. APISIX officially supported multiple
languages a few days ago, currently supports Java, and will gradually support
Golang, Rust, NodeJS, and other languages.
-
-APISIX's entire dynamic and high performance are inseparable from the
surrounding ecology's high quality. Other peripheral libraries, such as
jsonschema, ipmatcher, etc., are better than open-source API Gateways.
-
-
-
-APISIX support for multi-language features has been put into the open-source
project. Interested users are welcome to follow and participate at any time.
The advantage of this implementation is that it is simple and universal, and
everyone can natively use their familiar language.
-
-
-
-After this talk, what are the advantages of APISIX for you? See the image
above.
-
-I think the first three (foundation project, security, stability) are the most
important. As a foundation project, it no longer belongs to a person or a
company but is the property of all humankind, and we can use it forever. The
security and stability of APISIX are due to its cornerstone, NGINX, which has
become the most popular and widely used web server, and its heritage is still
awe-inspiring.
-
-High performance, dynamics, and an active community are the trump cards of
APISIX, and they have formed a healthy interaction.
-
-If one sentence sums up the pride of APISIX, I think it is:**APISIX, the most
active API gateway project in the world**. With this consensus, we tilt more
resources to the community, and we believe the community will make APISIX grow
soundly and healthily.
-
-
-
-The APISIX goal: **Unified Proxy Infrastructure**.
-
-You may be wondering if APISIX is going to support so many scenarios. Here I
will explain briefly that the core of APISIX is a high-performance proxy
service that does not bind any environment properties. When it evolves into
Ingress, Service Mesh, etc., it is the external service that works with APISIX
and the external program that changes rather than APISIX itself. And we will
explain how APISIX supports these scenarios step by step.
-
-
-
-For traditional LB and API Gateway scenarios, APISIX has the advantage of
going from static to all dynamic, with no more reloads, as many tech companies
start with a half-hour NGINX reload. The aforementioned canary release scenario
of modulating based on request-id can be quickly done in APISIX using
fine-grained routing.
-
-
-
-
-
-APISIX Ingress Controller solves all the problems mentioned above and inherits
all the advantages of APISIX, in addition to supporting native K8s CRD for easy
migration.
-
-
-
-Service mesh, it is necessary to talk to you about it. What is the most likely
mainstream server-side architecture in the next five or ten years? I would
choose the service mesh.
-
-
-
-The diagram on the right shows the internal architecture of APISIX Mesh.
-
-
-
-After talking so much about the present of APISIX, let's also talk about the
future of APISIX.
-
-Because APISIX is an Apache Foundation project, it is no longer the property
of individuals or companies but all humanity. This gives everyone in the
community the right to decide which direction it will go.
-
-The default configuration center for the open-source version of APISIX is
etcd. While it is still the best choice, we often hear about support for other
configuration centers when talking to users because etcd is so new that it is
not on the list of supported products in the company's existing operations and
maintenance products. So we plan to make APISIX work with other configuration
centers.
-
-
-
-APISIX is already on the road to the full traffic data plane, and I believe we
all ask questions such as: Why do we need to unify traffic forwarding? Does
unification bring value to the enterprise? What are the benefits to the
technical staff? With these questions in mind, let's look at the following
diagram.
-
-
-
-Unification itself is not the goal, but the benefits after unification are the
logic behind our pursuit, and several different perspectives are given below to
elaborate separately.
-
-- Operation and maintenance role: use the same operation and maintenance tools
to collect logs, metrics, etc., and reuse existing accumulations.
-
-- Development role: based on standardized APISIX plugin development, the
capabilities can be easily reused, and the accumulated experience can be
applied to different product lines such as LB, API Gateway, K8s Ingress, etc.
-
-- Company value: Unify technology stack, reduce company operation cost, reduce
the difficulty of transitioning to microservices and cloud-native, and
accelerate enterprise digital transformation.
-
-Last but not least is the APISIX [Slack
channel](https://apisix.apache.org/docs/general/join#join-the-slack-channel),
any questions can be left here, or on [Github
issue](https://github.com/apache/apisix/issues), there will be someone to
respond quickly, thanks again.
-
-Click [here](https://www.bilibili.com/video/BV1w54y1V73Z) to watch the
recording video.
+If you have any questions, you can leave a message in [Github
issue](https://github.com/apache/apisix/issues), community contributors will
respond quickly, of course, you can also join the APISIX Slack channel and
mailing list, Please refer to [Join
Us](https://apisix.apache.org/docs/general/join/).
diff --git a/blog/en/blog/2021/08/25/Why-Apache-APISIX-chose-Nginx-and-Lua.md
b/blog/en/blog/2021/08/25/Why-Apache-APISIX-chose-Nginx-and-Lua.md
index 371daa102f6..92535c8ad4f 100644
--- a/blog/en/blog/2021/08/25/Why-Apache-APISIX-chose-Nginx-and-Lua.md
+++ b/blog/en/blog/2021/08/25/Why-Apache-APISIX-chose-Nginx-and-Lua.md
@@ -14,7 +14,7 @@ description: This article introduces the historical
background of Apache APISIX'
tags: [Ecosystem]
---
-> Yes, Lua is not a well-known language, and it is probably a long way from
the most popular programming language. So why do Apache APISIX and other
well-known gateways choose Lua?
+> This article was written by Zexuan Luo, engineer of
[API7.ai](https://api7.ai/), and introduced the historical background of Apache
APISIX's selection of Nginx + Lua technology stack and the advantages this
technology stack brings to Apache APISIX. Zexuan Luo is an OpenResty developer
and Apache APISIX PMC.
<!--truncate-->
diff --git
a/blog/zh/blog/2021/06/03/experience-share-from-Apache-APISIX-committer.md
b/blog/zh/blog/2021/06/03/experience-share-from-Apache-APISIX-committer.md
index 014ed2b4450..5cba6a6717a 100644
--- a/blog/zh/blog/2021/06/03/experience-share-from-Apache-APISIX-committer.md
+++ b/blog/zh/blog/2021/06/03/experience-share-from-Apache-APISIX-committer.md
@@ -22,7 +22,7 @@ tags: [Community]
**Q:舒旸,请简单介绍一下自己。**
-**舒旸**:Hello,大家好~ 我是吴舒旸(Github ID:
yiyiyimu),去年本科毕业于上海交通大学环境学院,今年八月会在佐治亚理工学院开始读计算机硕士。现在在 APISIX
背后的商业公司——支流科技全职维护开源社区,也是 Apache APISIX 和 Chaos Mesh 两个项目的 committer。去年参与“编程之夏
2020”在 Apache APISIX 完成了“支持 etcd v3 协议”这个项目,这也作为了 APISIX v2.0
的主要更新点,之后也有幸被评上了“编程之夏 2020”的优秀学生,今年也会作为 mentor 继续参与“编程之夏 2021”。
+**舒旸**:Hello,大家好~ 我是吴舒旸(Github ID:
yiyiyimu),去年本科毕业于上海交通大学环境学院,今年八月会在佐治亚理工学院开始读计算机硕士。现在在 APISIX
背后的商业公司——[支流科技](https://api7.ai/)全职维护开源社区,也是 Apache APISIX 和 Chaos Mesh 两个项目的
committer。去年参与“编程之夏 2020”在 Apache APISIX 完成了“支持 etcd v3 协议”这个项目,这也作为了 APISIX
v2.0 的主要更新点,之后也有幸被评上了“编程之夏 2020”的优秀学生,今年也会作为 mentor 继续参与“编程之夏 2021”。
**Q:去年为什么会选择参加编程之夏?**
diff --git
a/blog/zh/blog/2021/06/23/deploy-great-open-source-gateway-and-ingress-controller-fast.md
b/blog/zh/blog/2021/06/23/deploy-great-open-source-gateway-and-ingress-controller-fast.md
index 0fed0ff5423..651cc13c68c 100644
---
a/blog/zh/blog/2021/06/23/deploy-great-open-source-gateway-and-ingress-controller-fast.md
+++
b/blog/zh/blog/2021/06/23/deploy-great-open-source-gateway-and-ingress-controller-fast.md
@@ -20,7 +20,7 @@ Rancher 是一个开源的企业级多集群 Kubernetes 管理平台,实现了
## Apache APISIX 介绍
-Apache APISIX 是一款开源的高性能、动态云原生网关,由深圳支流科技有限公司于 2019 年捐赠给 Apache 基金会,当前已经成为
Apache 基金会的顶级开源项目,也是 GitHub 上最活跃的开源网关项目。Apache APISIX 当前已经覆盖了 API
网关,LB,Kubernetes Ingress,Service Mesh 等多种场景。
+Apache APISIX 是一款开源的高性能、动态云原生网关,由深圳[支流科技](https://api7.ai/)有限公司于 2019 年捐赠给
Apache 基金会,当前已经成为 Apache 基金会的顶级开源项目,也是 GitHub 上最活跃的开源网关项目。Apache APISIX 当前已经覆盖了
API 网关,LB,Kubernetes Ingress,Service Mesh 等多种场景。
## 前置条件
diff --git a/blog/zh/blog/2021/06/28/why-we-need-Apache-APISIX.md
b/blog/zh/blog/2021/06/28/why-we-need-Apache-APISIX.md
index 9d5f2ad99ee..1a59c92b771 100644
--- a/blog/zh/blog/2021/06/28/why-we-need-Apache-APISIX.md
+++ b/blog/zh/blog/2021/06/28/why-we-need-Apache-APISIX.md
@@ -4,7 +4,7 @@ slug: 2021/06/28/why-we-need-apache-apisix
author: "王院生"
authorURL: "https://github.com/membphis"
authorImageURL: "https://avatars.githubusercontent.com/u/6814606?v=4"
-keywords:
+keywords:
- APISIX
- Kong
- Nginx
@@ -14,168 +14,93 @@ description: 本文介绍了云原生 API 网关 Apache APISIX 架构演进历
tags: [Ecosystem]
---
-> 本文介绍了 Apache APISIX 架构演进历史,对比 Nginx 和 Kong 这两个框架 Apache APISIX 的优势是什么。
+> 本文介绍了 Kong 和 NGINX 的痛点,以及 Apache APISIX 如何解决它们的痛点,并且为你介绍了 Apache APISIX
的应用场景。
<!--truncate-->
-:::tip 提示
+云原生时代,动态和可观测性成为衡量 API 网关的标准之一。Apache APISIX 自诞生之初就一直跟随着云原生的脚步前行。然而 Apache
APISIX 作为一个诞生刚刚三年的新一代网关,为什么可以从诞生 20 多年的 NGINX 与开源 8 年的 Kong
中突出重围,成为云原生时代最流行以及最活跃的网关?我认为其中最重要的原因是解决了开发者和企业在使用 NGINX 和 Kong 中的痛点。
-最新版本查看:[有了 NGINX 和 Kong,为什么还需要 Apache
APISIX?](https://apisix.apache.org/zh/blog/2022/07/30/why-we-need-apache-apisix/)
+## NGINX 与 Kong 的痛点
-:::
+在单体服务时代,使用 NGINX 可以应对大多数的场景,而到了云原生时代,NGINX 因为其自身架构的原因则会出现两个问题:
-大家好,非常开心给大家分享一个让我激动的主题《有了 NGINX 和 Kong,为什么还需要 Apache APISIX》。
+- 首先是 NGINX 不支持集群管理。几乎每家互联网厂商都有自己的 NGINX 配置管理系统,系统虽然大同小异但是一直没有统一的方案。
+- 其次是 NGINX 不支持配置的热加载。很多公司一旦修改了配置,重新加载 NGINX 的时间可能需要半个小时以上。并且在 Kubernetes
体系下,上游会经常发生变化,如果使用 NGINX 来处理就需要频繁重启服务,这对于企业是不可接受的。
-
+而 Kong 的出现则解决了 NGINX 的痛点,但是又带来了新的问题:
-之所以我们要做 NGINX 和 Kong 的替代项目,实际和我们后端架构演变史大背景息息相关,我会先和大家一起分享后端架构演变过程,这非常重要。
+- Kong 需要依赖于 PostgreSQL 或 Cassandra 数据库,这使 Kong
的整个架构非常臃肿,并且会给企业带来高可用的问题。如果数据库故障了,那么整个 API 网关都会出现故障。
+- Kong 的路由使用的是遍历查找,当网关内有超过上千个路由时,它的性能就会出现比较急剧的下降。
-
+而 APISIX 的出现则解决了上述所有问题,成为了云原生时代最完美的 API 网关。那么 Apache APISIX
的优势到底是什么?为什么可以在短短三年的时间里成为全世界最活跃的网关?
-首先做下自我介绍,本人叫王院生。和这次大会主办者净超一样我们都做社区很久,我在 2015 年写了一本电子书叫《OpenResty
最佳实践》,通过这本书结成了一个超万人社区。从那个时候开始个人对开源本身越发感兴趣,2015
年以前我基本上主要是开源软件的使用者,然后慢慢变成社区的一个协办者,再往后变成社区领导者,也许你会问为什么?很简单,因为这本书是你写的,别人遇到各种各样的问题,有高级的也有比较普通的,问得多了我就逐步成为老师并最终成了社区领导者,像那句名言“走的人多了,也变成了路”。
+## APISIX 的优势
-
+### 优异的架构
-2019
年我与合伙人温铭一起创办了深圳支流科技公司,它是一家以开源为依托的商业化公司。这家公司承载了我俩很多个人理想,也可以说是在做每一位普通程序员的理想,不想庸庸碌碌
996,我经常对别人说我的梦想就是“把我的名字刻入史册”,悲催的是人类已经不需要史册了。
+首先 Apache APISIX
拥有优异的架构,现在很多应用都在向微服务、容器化迁移,形成新的云原生时代。云原生作为当下的技术潮流,将重写传统企业的技术架构。而 APISIX
自诞生之初就跟随技术潮流,并将其设计为云原生架构:
-
+
-这是我们团队,大家主要是远程协作,所有人聚在一起比较难。公司早期阶段只有五六个人时,还能比较容易的把团队聚起来,但从今年之后就一直没聚齐过,这是我们今年到目前以来最齐的一次(但依然有几位同学没能一起)。
+如上图所示,左右分别是 APISIX 的数据面(Data Plane)和控制面(Control Plane):
-作为一家技术说了算的商业公司,技术在我司有非常大的话语权,尊重技术从尊重技术人才开始。没有 996
,没有上班打卡,远程办公,欢迎感兴趣的同学联系我们,期待有梦想、有理想的你加入我司。
+- 数据面:以 NGINX 的网络库为基础(未使用 NGINX 的路由匹配、静态配置和 C 模块),使用Lua 和 NGINX 动态控制请求流量;
+- 控制面:使用 etcd 来存储和同步网关的配置数据,管理员通过 Admin API 或者 Dashboard 可以在毫秒级别内通知到所有数据面节点。
-
+在更新数据上,Kong 采用轮询数据库的方式,但是可能需要 5-10 秒才能获取到最新的配置;而 APISIX 则采用监听 etcd
的配置变更的方式,可以将时间控制在毫秒级,达到实时生效的效果。
+而且由于 APISIX 和 etcd 均支持多点部署,因此在 APISIX 当前架构中,任何一个服务出现异常宕机等事故,都不会影响 APISIX
正常对外提供服务的能力。
-这次演讲主题需要一些背景,我们先说说后端架构演变史。先跟大家回顾一下这张图,右图部分从上到下它不是具体数据流程图,它是我们后端架构演变史。从最传统的单体大应用,然后变成面向服务架构(SOA),然后是微服务,分别出现了
Spring Cloud 和 Kubernetes。Spring Cloud 架构主要服务 JAVA 语言开发者,Kubernetes
是容器编排支持任何语言,以及最近社区比较热的话题服务网格。
+### 完善的生态
-我经常跟公司同事说,咱们展望未来五年,甚至是十年之后,哪个架构是最终极方案?从目前信息看,服务网格会大概率胜出。即使当下它还有很多问题,但我相信这些问题都能被解决。
+下图为 APISIX 的生态图,从该图可以准确看到 APISIX 已经支持的 7 层协议有 HTTP(S)、HTTP2、Dubbo 和物联网协议 MQTT
等等,4 层协议有 TCP/UDP。
+右侧部分则是一些开源或者 SaaS 服务,比如 SkyWalking、Prometheus 、Vault
等等。而最下面则是比较常见的操作系统环境、云厂商和硬件环境。而作为一个开源软件,APISIX 也支持在 ARM64 的服务器上运行。
-
+
-在创业之初,在脑子里过这张图的时候特别有意思。我们能够看到,随着我们后端架构的逐步迭代,我们引入了各种不同组件。比如到了 SOA
也就是面向服务的架构,引入反向代理组件,选型通常是 NGINX,HAProxy。迭代到微服务架构后,通常会选择一些更现代的 API 网关产品,比如
Kong、Traefik ,当然也有一些用户因为惯性习惯,还会继续选择使用
NGINX,虽然它有能力弱、使用不方便等缺点,但胜在稳定、可靠。说句题外话,从全球市场占有率看,NGINX 成为占有率最高的 Web Server 是在
2019 年 4 月份,感兴趣的同学可以到看下最新的 netcraft 报告 April 2021 Web Server Survey。
+APISIX 不仅支持众多协议与操作系统,而且也支持多语言编程插件。APISIX 诞生之初仅支持使用 Lua 语言编写插件,这种情况下就需要开发者掌握
Lua 和 NGINX 相关的技术栈。然而 Lua 和 NGINX 属于相对小众的技术,开发者很少。因此我们在 APISIX
上支持了多语言开发插件,目前已经正式支持了 Java、Golang、Node.js、Python 等语言。
-随着后端架构持续迭代,进入到了 Kubernetes 时代后,流量出入口 Ingress 大家默认会使用官方的 Kubernetes
Ingress,这个项目是基于 NGINX 本地配置文件。在国内也有一些公司在使用 Traefik 作为 Ingress,这与国内 Golang
开发者基数比较大有很大关系。
+
-我们再看看左侧比较有意思的 JAVA ,Spring Cloud 内置 API 网关先后经历了
ZUUL、ZUUL2,但还是不好用,性能、架构官方都不满意,所以 Spring Cloud 官方发起了新项目 Spring Cloud
Gateway,最终形成全家桶解决方案。
+### 活跃的社区
-最后说说右下角部分的服务网格,对于服务网格已经形成一种选择就是 istio(控制面)+ envoy(数据面)。后面我们又看到了阿里巴巴开源的
mosn,一句话概括:Golang 版本的 envoy。
+下图是贡献者增长曲线,其中横坐标代表时间线,纵坐标代表贡献者总数。我们可以看到 APISIX 和 Kong 这两个项目相对更活跃,APISIX
的增长速度从开源第一天就保持着非常不错的增长率,在以接近 Kong 两倍的速度快速成长,并且贡献者数量已经远远超过了 Kong,由此可见 APISIX
受欢迎程度。当然评价一个项目活跃度还有很多其他方法,比如查看每月活跃 Issue、PR 总数等方式,值得高兴的是 APISIX 在这些方面也是一骑绝尘。
-
+
-回顾前面的架构演变图,相信很多同学都已经发现问题在哪里。从上到下,从左到右,针对不同场景,我们最终“合理”的引入了各种组件来分别解决我们的问题,架构师生存法则:选择当下最适合的。
+## APISIX 的应用场景
-当我们趁手工具不多,在功能、动态、性能等之间我们总是要妥协放弃一些,大家早已习惯甚至麻木。IT
技术发展迅速,时至今日它们是否还是最合适方案?5G、物联网等发展迅速,如何弹性扩缩容、动态统一管理等新问题,逼着我们重新思考。
+从下图中,相信你已经看出 APISIX 的目标:**统一代理基础设施**。
-
+
-如图这些都是 NGINX 缺点,比如 NGINX
的低活跃度社区。虽然我们可以在公司层面投入更多资源,但他的社区是真不友好,不友好到什么程度呢?上面这张图可以看得到,NGINX 在 Github
的仓库只是镜像,issue 功能是关闭的,想提交 issue 不可能了,即使你提交 PR 官方也是不会合并的。
+也许你会有疑问:APISIX 要支持这么多场景,是否会让 APISIX 变得四不像?
-除此之外 NGINX 自身路由比较弱,比如说我要根据某个请求参数比如 id 取模运算做灰度,你会发现 NGINX
完全无法实现。所以我们能看到很多小的开源系统,只要解决了上面的灰度场景,就可以是个独立开源项目。此外 gRPC 调用在微服务调用中越来越流行,但 NGINX
对它的支持只能是“简单能用”。
+因为 APISIX 的核心是高性能代理服务,自身不绑定任何环境属性。当它演变为 Ingress、服务网格等产品时,都是外部服务与 APISIX
配合,变化的是外部程序而不是 APISIX 自身,下面将逐步为大家介绍 APISIX 是如何支持这些场景的。
-最后就是 NGINX 集群统一管理,几乎每家互联网厂商都有自己的 NGINX 配置管理系统,系统虽然大同小异但就是没有统一方案,十几年了一直空白。
+### Load Balancer 和 API 网关
-
+首先是针对传统的 LB 和 API 网关场景,因为 APISIX 基于 NGINX + LuaJIT
实现,所以天然具备高性能、安全等特性,并且原生支持了动态 SSL 证书卸载、SSL 握手优化等功能,在负载均衡的服务能力上也更优秀。从 NGINX 切换到
APISIX 不仅性能不会下降,而且可以享受到动态、统一管理等特性带来的管理效率的提升。
-在进一步聊 Kong
之前,想和大家聊一下什么是云原生。这个名词从诞生到现在很久,但到现在没有统一明确的定义。我综合几家云厂商定义,概括云原生特征主要有两点:第一要支持容器,第二要支持弹性伸缩部署。我认为
Kong 不完全满足第二条,官方主推的 PostgreSQL 关系型数据库是单点,无法支持弹性扩缩容,是它架构选型硬伤。
+### 微服务网关
-
+APISIX 目前支持多种语言编写扩展插件,可以解决东西向微服务 API 网关面临的主要问题——异构多语言和通用问题。内置支持的服务注册中心有
Nacos、etcd、Eureka 等,还有标准的 DNS 方式,可以平滑替代 Zuul、Spring Cloud Gateway、Dubbo 等微服务
API 网关。
-最后简单总结一下 NGINX 和 Kong 的问题:
+### Kubernetes Ingress
-- NGINX 和 Kong 都有各自不同应用场景;
+目前 K8s 官方 Kubernetes Ingress Controller 项目主要基于 NGINX
配置文件的方式,所以在路由能力和加载模式上稍显不足,并且存在一些明显劣势。比如添加、修改任何 API 时,需要重启服务才能完成新 NGINX
配置的更新,但重启服务,对线上流量的影响是非常大的。
-- NGINX 缺少官方集群统一管理方案;
+而 [APISIX Ingress
Controller](https://apisix.apache.org/zh/docs/ingress-controller/getting-started/)
则完美解决了上面提到的所有问题:支持全动态,无需重启加载。同时继承了 APISIX 的所有优势,还支持原生 Kubernetes CRD,方便用户迁移。
-- Kong 的控制面不是完全云原生架构。
+
-在介绍 APISIX 之前,还是有必要先感谢两位前辈,站在巨人肩膀思考,确实让我们从一开始就有更高起点。APISIX 已经两岁多,请看架构图:
+### 服务网格
-
+未来五到十年,基于云原生模式架构下的服务网格架构开始崭露头角。APISIX 也提前开始锁定赛道,通过调研和技术分析后,APISIX 已经支持了 xDS
协议,APISIX Mesh 就此诞生,在服务网格领域 APISIX 也拥有了一席之地。
-这张图的左右分别是 DP(Data Plane)和 CP(Control Plane),跟大家所熟悉的后端服务体系一样。APISIX
从架构第一天就没有想去自己造新东西,所以关于配置中心选择了当下最成熟的 etcd。
+
-在这个架构里面,你找不到一个单点。这里的任何一个服务出现异常宕机等事故,都不会影响 APISIX
正常对外提供服务的能力。当整体架构中的每一个点都支持高可用时,用户生产系统的高稳定性就非常容易实现。
+## 总结
-
+Apache APISIX
自开源第一天,迄今为止已经有三年的时间了,高活跃度的社区以及实际的[用户案例](https://apisix.apache.org/zh/blog/tags/case-studies/)证明了
APISIX 是云原生时代最完美的 API 网关。通过阅读本文,相信你已经对 APISIX 有了更全面的认识,期待你在生产环境中使用 APISIX 作为你的
API 网关。
-这是 APISIX 的生态图,从该图可以准确看到目前都支持了哪些周边生态。左侧是支持的协议,可以看到常见的 7 层协议有
HTTP(S)、HTTP2、Dubbo、QUIC 和物联网协议 MQTT 等,4 层协议有 TCP/UDP 。右侧部分则是一些开源或者 SaaS 服务,比如
SkyWalking、Prometheus 、Vault 等。下面就是一些比较常见的操作系统环境、云厂商和硬件环境,作为一家全球化公司,我们也支持 ARM64
等更丰富的平台。
-
-
-
-给大家简单地汇报一下 APISIX 当前状态,APISIX 从开源到现在两年的时间,APISIX 已经成为了全世界最活跃的开源 API
网关项目,而且这个状态已经持续了一年多。请记住最下面一句话,APISIX 已经**生产可用,功能、性能、架构全面优于 Kong**。在 2019 年 9
月份贝壳找房就已经把 APISIX 项目用到生产环境。
-
-
-
-简单解释一下这张图,可以叫它贡献者增长曲线。横坐标是时间线,纵坐标是贡献者总数。能够看到 APISIX 和 Kong 这两个项目相对更活跃,APISIX
的增长速度从开源第一天就保持着非常不错的增长率,在接近 Kong 两倍的速度成长,可见 APISIX
受欢迎程度。当然评价一个项目活跃度还有很多其他方法,比如查看每月活跃 issue、PR 总数等方式,很开心的和大家说,这些方式看 APISIX
的活跃度依然第一。
-
-
-
-经过我们实际的客户走访,支持多语言这个特性是非常有必要的。毕竟对于很多公司而言,都有自己熟悉的技术栈,很多公司对 NGINX C 和 Lua
这两个技术栈是空白。前些日子 APISIX 已经正式宣布支持多语言,目前已经支持了 Java 语言,后续也将逐步支持 Golang 、Rust、NodeJS
等语言。
-
-APISIX 的全动态、高性能,其实和高质量的周边生态是分不开的。APISIX 的路由使用我司主导并开源的项目叫 resty-radixtree
,简单来说它使用 radixtree 方式完成路由匹配,匹配效率相比竞品提升了一到两个数量级。其他还有 jsonschema、ipmatcher
等周边库,它们都比同类开源项目性能强几个数量级。
-
-
-
-APISIX 支持多语言的特性,已经放到开源项目,欢迎感兴趣的同学可以随时关注并参与。这个实现方案的优势是简单、通用,大家可以原生的使用自己熟悉语言。
-
-
-
-聊了这么多,给大家介绍下 APISIX 有哪些优势?请看上图。
-
-前面三个(基金会项目、安全、稳定)我觉得是最重要的,作为基金会项目,它已经不属于某个人或某家公司,而是全人类的财产,我们可以永远使用它。与之相对应的是商业公司开源项目,它可以随时修改开源项目
License,大家最近都听过类似的消息。APISIX 的安全和稳定得益于它的基石 NGINX,能够成为目前最流行、使用量最广的 web
server,底蕴还是很厉害的。
-
-高性能、动态、社区活跃是 APISIX 的王牌,它们已经形成了良性互动。
-
-如果一句话概括 APISIX 的自豪,我认为是:**APISIX,全世界最活跃的 API
网关项目**。在此共识下,我们把更多资源倾斜给社区,我们相信社区会让 APISIX 稳健健康成长。
-
-
-
-看到这张图台下的你估计一下子就明白了 APISIX 要干什么。APISIX 目标:**统一代理基础设施**。
-
-也许台下的你这里会有疑问:APISIX 要支持这么多场景,是否会让 APISIX 变得四不像?这里我简单解释一下,APISIX
的核心是高性能代理服务,自身不绑定任何环境属性。当它演变为 Ingress、服务网格等产品,都是外部服务与 APISIX 配合,变化的是外部程序而不是
APISIX 自身,后面逐步为大家说明 APISIX 是如何具体支持这些场景。
-
-
-
-针对传统的 LB 和 API Gateway 场景,APISIX 比较大的优势就是从静态变成全部动态,再也不需要 reload,要知道很多科技公司的
NGINX reload 是半小时起步。前面提到的根据请求 id 取模运算灰度场景,在 APISIX 里使用精细化路由可以很容易完成。
-
-
-
-
-
-APISIX Ingress Controller 则完整解决了上面提到的所有问题,继承了 APISIX 的所有优势,此外还支持原生 k8s CRD
,方便用户迁移。
-
-
-
-服务网格,这里面有必要跟大家重点聊聊。未来五年或者十年之后,最有可能主流的服务端架构是什么?如果让我回答,我选择服务网格。
-
-
-
-右图部分就是 APISIX Mesh 的内部架构图。
-
-
-
-聊了这么多 APISIX 的当下,也和大家聊聊 APISIX 的未来。
-
-因为 APISIX 目前是 Apache 基金会项目,所以它已经不再属于个人或公司,而是全人类共享财产。这样社区中的每一个你,都有权利决定他往哪个方向发展。
-
-开源版本 APISIX 目前默认搭配的配置中心是 etcd
,虽然目前它依旧是最好的选择,但我们在和用户沟通时依然经常会听到是否支持其他配置中心,比较常见的原因是 etcd
这个产品太新了,公司现有运维产品支持列表中没有它。所以我们计划让 APISIX 可以与其他配置中心协作。
-
-
-
-APISIX
已经走在全流量数据面这条路上,相信大家都会问一些问题,比如:为什么要统一流量转发?统一是否给企业带来价值?对技术人员有什么收益?带着这些问题,我们看下图:
-
-
-
-统一本身不是目标,统一之后的收益才是我们追求的背后逻辑,下面分别给出几个不同角度来分别阐述。
-
-- 运维角色:使用相同的运维工具收集日志、Metric 指标等,复用已有积累;
-
-- 开发角色:基于标准化的 APISIX 插件开发,能力可以方便复用,并且积累的经验可以应用到 LB、API Gateway、K8s Ingress
等不同产品线;
-
-- 公司价值:统一技术栈,降低公司运营成本,降低过渡到微服务、云原生的难度,加速企业数字化转型。
-
-
-
-最后是 APISIX 的 QQ 群,有任何问题都可以在这里或者 [Github
issue](https://github.com/apache/apisix/issues) 留言,会有专人快速响应,再次感谢大家。
-
-点击观看[视频](https://www.bilibili.com/video/BV1w54y1V73Z?p=1&share_medium=android&share_plat=android&share_source=COPY&share_tag=s_i×tamp=1621812452&unique_k=PEusrt)
+更多信息请观看[有了 NGINX 和 Kong,为什么还需要 Apache
APISIX?](https://www.bilibili.com/video/BV1w54y1V73Z?p=1&share_medium=android&share_plat=android&share_source=COPY&share_tag=s_i×tamp=1621812452&unique_k=PEusrt)
diff --git a/blog/zh/blog/2021/07/21/Apache-APISIX-Kubernetes.md
b/blog/zh/blog/2021/07/21/Apache-APISIX-Kubernetes.md
index d071d6d36f6..72be5860f9e 100644
--- a/blog/zh/blog/2021/07/21/Apache-APISIX-Kubernetes.md
+++ b/blog/zh/blog/2021/07/21/Apache-APISIX-Kubernetes.md
@@ -29,7 +29,7 @@ Meetup 结束后,我们会在 Apache APISIX 的 bilibili 账号上传 Meetup
## 讲师介绍
-张晋涛,支流科技云原生技术专家、Apache APISIX committer、Kubernetes ingress-nginx
reviewer。他同时作为 containerd/Docker/Helm/Kubernetes/KIND 等众多开源项目 contributor
在开源社区活跃,是 『K8S 生态周报』的维护者之一。
+张晋涛,[支流科技](https://api7.ai/)云原生技术专家、Apache APISIX committer、Kubernetes
ingress-nginx reviewer。他同时作为 containerd/Docker/Helm/Kubernetes/KIND 等众多开源项目
contributor 在开源社区活跃,是 『K8S 生态周报』的维护者之一。
从业 7 年,张晋涛对 Docker 和 Kubernetes 等容器化技术有大量实践和深入源码的研究,是业内多个知名大会讲师,PyCon China
核心组织者之一。同时著有 《Kubernetes 上手实践》和 《Docker 核心知识必知必会》等专栏。运营有公众号:MoeLove。

diff --git
a/blog/zh/blog/2021/07/27/use-of-plugin-orchestration-in-Apache-APISIX.md
b/blog/zh/blog/2021/07/27/use-of-plugin-orchestration-in-Apache-APISIX.md
index aa5b37611e3..0c15bc48d34 100644
--- a/blog/zh/blog/2021/07/27/use-of-plugin-orchestration-in-Apache-APISIX.md
+++ b/blog/zh/blog/2021/07/27/use-of-plugin-orchestration-in-Apache-APISIX.md
@@ -13,7 +13,7 @@ description: 通过阅读本文,你可以了解云原生 API 网关 Apache API
tags: [Ecosystem]
---
-> 通过阅读本文,您可以了解 Apache APISIX 与基本使用场景,以及在低代码潮流下,Apache APISIX
是如何集成“拖拽”的插件编排能力的。本文作者琚致远,Apache APISIX PMC,在支流科技负责企业产品与大前端技术。
+> 通过阅读本文,您可以了解 Apache APISIX 与基本使用场景,以及在低代码潮流下,Apache APISIX
是如何集成“拖拽”的插件编排能力的。本文作者琚致远,Apache APISIX
PMC,在[支流科技](https://api7.ai/)负责企业产品与大前端技术。
<!--truncate-->
diff --git a/blog/zh/blog/2021/08/11/interview-TuZhengsong.md
b/blog/zh/blog/2021/08/11/interview-TuZhengsong.md
index 880547d3224..7b7c46b8eb2 100644
--- a/blog/zh/blog/2021/08/11/interview-TuZhengsong.md
+++ b/blog/zh/blog/2021/08/11/interview-TuZhengsong.md
@@ -95,7 +95,7 @@ tags: [Community]
正松曾经被 etcd 限制返回体大小的问题折磨过,社区内也多次反映、讨论过这个问题,但在 Apache APISIX 上无论怎么处理都不是很优雅。
-直到今年 4 月份,支流科技的一位小伙伴给 etcd 提交了
PR,最终解决了这个问题。正松听说这个消息时,感到非常的震撼,当时他没有想过这个事情会以这样的方式去解决。但是现在来看的话,这个方法确实是最适合的。
+直到今年 4 月份,[支流科技](https://api7.ai/)的一位小伙伴给 etcd 提交了
PR,最终解决了这个问题。正松听说这个消息时,感到非常的震撼,当时他没有想过这个事情会以这样的方式去解决。但是现在来看的话,这个方法确实是最适合的。
“因为 etcd 有 MaxCallRecvMsgSize 的限制,就从 etcd
的源头去解决,这是最优雅,也是最适合的。这是很棒的跨社区合作的示例”,正松说。
diff --git a/blog/zh/blog/2021/08/23/ApacheCon-Asia-2021.md
b/blog/zh/blog/2021/08/23/ApacheCon-Asia-2021.md
index fb8bd32fe28..6050e6b5d13 100644
--- a/blog/zh/blog/2021/08/23/ApacheCon-Asia-2021.md
+++ b/blog/zh/blog/2021/08/23/ApacheCon-Asia-2021.md
@@ -53,7 +53,7 @@ Apache APISIX 是领先的 API 网关 OSS 之一。为了确保一切按计划
分享者:温铭
-温铭,api7.ai 创始人,Apache APISIX PMC 主席,Apache 基金会 member,他演讲的题目是“Apache APISIX
从开源项目到商业化之路”。
+温铭,[api7.ai](api7.ai) 创始人,Apache APISIX PMC 主席,Apache 基金会
member,他演讲的题目是“Apache APISIX 从开源项目到商业化之路”。
[**查看分享**](/articles/Apache-APISIX-From-OpenSource-Commercialization)
@@ -69,7 +69,7 @@ Apache APISIX 是领先的 API 网关 OSS 之一。为了确保一切按计划
分享者:温铭
-Apache Way 是被无数开源项目证实的社区成功之道,那么对于开源商业公司而言,Apache Way 是否可行呢?它在商业社会是否行得通? 通过 2
年开源商业公司的经营,支流科技希望用公司的切身经历来回答这个问题。
+Apache Way 是被无数开源项目证实的社区成功之道,那么对于开源商业公司而言,Apache Way 是否可行呢?它在商业社会是否行得通? 通过 2
年开源商业公司的经营,[支流科技](https://api7.ai/)希望用公司的切身经历来回答这个问题。
[**查看分享**](/articles/Apache-APISIX-From-OpenSource-Commercialization-by-Apache-Way)
diff --git a/blog/zh/blog/2021/08/25/Why-Apache-APISIX-chose-Nginx-and-Lua.md
b/blog/zh/blog/2021/08/25/Why-Apache-APISIX-chose-Nginx-and-Lua.md
index 70e37d45997..62b417ce3ca 100644
--- a/blog/zh/blog/2021/08/25/Why-Apache-APISIX-chose-Nginx-and-Lua.md
+++ b/blog/zh/blog/2021/08/25/Why-Apache-APISIX-chose-Nginx-and-Lua.md
@@ -14,7 +14,7 @@ description: 本文介绍了云原生 API 网关 Apache APISIX 选用 Nginx + Lu
tags: [Ecosystem]
---
-> 本文由深圳支流科技工程师罗泽轩撰写,介绍了 Apache APISIX 选用 Nginx + Lua 这个技术栈的历史背景和这个技术栈为 Apache
APISIX 带来的优势。罗泽轩是 OpenResty 开发者以及 Apache APISIX PMC。
+> 本文由深圳[支流科技](https://api7.ai/)工程师罗泽轩撰写,介绍了 Apache APISIX 选用 Nginx + Lua
这个技术栈的历史背景和这个技术栈为 Apache APISIX 带来的优势。罗泽轩是 OpenResty 开发者以及 Apache APISIX PMC。
<!--truncate-->
@@ -31,7 +31,7 @@ tags: [Ecosystem]
严谨认真的读者必然会指出,Apache APISIX 并非基于 Nginx + Lua 的技术栈,而是 Nginx + LuaJIT(又称
OpenResty,以下为了避免混乱,会仅仅采用 Nginx + Lua 这样的称呼)。
LuaJIT 是 Lua 的一个 JIT 实现,性能比 Lua 好很多,而且额外添加了 FFI 的功能,能方便高效地调用 C 代码。
-由于现行的主流 API 网关,如果不是基于 OpenResty 实现,就是使用 Go 编写,所以时不时会看到各种 Go 和 Lua 谁的性能更好的比较。
+由于现行的主流 API 网关,如果不是基于 OpenResty 实现,就是使用 Go 编写,所以时不时会看到各种 Go 和 Lua 谁的性能更好的比较。
**就我个人观点看,脱离场景比较语言的性能,是没有意义的。**
diff --git a/blog/zh/blog/2021/11/30/use-apisix-ingress-in-kubesphere.md
b/blog/zh/blog/2021/11/30/use-apisix-ingress-in-kubesphere.md
index 5337ba4b6ad..818c685d059 100644
--- a/blog/zh/blog/2021/11/30/use-apisix-ingress-in-kubesphere.md
+++ b/blog/zh/blog/2021/11/30/use-apisix-ingress-in-kubesphere.md
@@ -3,7 +3,7 @@ title: "在 KubeSphere 中使用 APISIX Ingress 接入自定义监控"
author: "张海立"
authorURL: "https://github.com/webup"
authorImageURL: "https://avatars.githubusercontent.com/u/2936504?v=4"
-keywords:
+keywords:
- KubeSphere
- Apache APISIX
- API 网关
@@ -103,7 +103,7 @@ KubeSphere 最小化安装版本已经包含了监控模块,因此不需要额
## 快速使用 Apache APISIX Ingress Controller
-Apache APISIX 是一款开源的高性能、动态云原生网关,由深圳支流科技有限公司于 2019 年捐赠给 Apache 基金会,目前已成为 Apache
基金会的顶级开源项目,也是 GitHub 上最活跃的网关项目。Apache APISIX 目前已覆盖 API 网关、LB、Kubernetes
Ingress、Service Mesh 等多种场景。
+Apache APISIX 是一款开源的高性能、动态云原生网关,由深圳[支流科技](https://api7.ai/)有限公司于 2019 年捐赠给
Apache 基金会,目前已成为 Apache 基金会的顶级开源项目,也是 GitHub 上最活跃的网关项目。Apache APISIX 目前已覆盖 API
网关、LB、Kubernetes Ingress、Service Mesh 等多种场景。
### 如何部署
@@ -126,7 +126,7 @@ Apache APISIX 是一款开源的高性能、动态云原生网关,由深圳支
```yaml
global:
imagePullSecrets: []
-
+
apisix:
enabled: true
customLuaSharedDicts: []
diff --git a/blog/zh/blog/2022/07/30/why-we-need-apache-apisix.md
b/blog/zh/blog/2022/07/30/why-we-need-apache-apisix.md
index 26f05812e06..0ec748c452e 100644
--- a/blog/zh/blog/2022/07/30/why-we-need-apache-apisix.md
+++ b/blog/zh/blog/2022/07/30/why-we-need-apache-apisix.md
@@ -3,7 +3,7 @@ title: "有了 NGINX 和 Kong,为什么还需要 Apache APISIX?"
author: "韩飞"
authorURL: "https://github.com/hf400159"
authorImageURL: "https://github.com/hf400159.png"
-keywords:
+keywords:
- Apache APISIX
- API 网关
- NGINX
@@ -103,8 +103,4 @@ APISIX 目前支持多种语言编写扩展插件,可以解决东西向微服
Apache APISIX
自开源第一天,迄今为止已经有三年的时间了,高活跃度的社区以及实际的[用户案例](https://apisix.apache.org/zh/blog/tags/case-studies/)证明了
APISIX 是云原生时代最完美的 API 网关。通过阅读本文,相信你已经对 APISIX 有了更全面的认识,期待你在生产环境中使用 APISIX 作为你的
API 网关。
-下图为 Apache APISIX 社区的 QQ 群,有任何问题都可以在该群或者 [Github
issue](https://github.com/apache/apisix/issues) 留言,社区贡献者将会快速响应,当然你也可以加入 APISIX
Slack 频道和邮件列表,请参考[加入我们](https://apisix.apache.org/zh/docs/general/join/)。
-
-
-
更多信息请观看[有了 NGINX 和 Kong,为什么还需要 Apache
APISIX?](https://www.bilibili.com/video/BV1w54y1V73Z?p=1&share_medium=android&share_plat=android&share_source=COPY&share_tag=s_i×tamp=1621812452&unique_k=PEusrt)
diff --git
a/website/articles/Apache-APISIX-From-OpenSource-Commercialization-by-Apache-Way.md
b/website/articles/Apache-APISIX-From-OpenSource-Commercialization-by-Apache-Way.md
index c7dff9a2eaa..0bf07702fc9 100644
---
a/website/articles/Apache-APISIX-From-OpenSource-Commercialization-by-Apache-Way.md
+++
b/website/articles/Apache-APISIX-From-OpenSource-Commercialization-by-Apache-Way.md
@@ -15,7 +15,7 @@ description: Apache Way 是被无数开源项目证实的社区成功之道,
## 分享人简介
-温铭,Apache 基金会 Member,Apache APISIX PMC 主席,支流科技联合创始人。
+温铭,Apache 基金会 Member,Apache APISIX PMC 主席,[支流科技](https://api7.ai/)联合创始人。
## 分享主题介绍
diff --git
a/website/articles/Apache-APISIX-From-OpenSource-Commercialization.md
b/website/articles/Apache-APISIX-From-OpenSource-Commercialization.md
index 681ace5b247..75675727386 100644
--- a/website/articles/Apache-APISIX-From-OpenSource-Commercialization.md
+++ b/website/articles/Apache-APISIX-From-OpenSource-Commercialization.md
@@ -14,7 +14,7 @@ description: Apache APISIX 从开源项目到商业化之路.
## 分享人简介
-温铭,Apache Member,Apache APISIX PMC 主席,支流科技联合创始人。
+温铭,Apache Member,Apache APISIX PMC 主席,[支流科技](https://api7.ai/)联合创始人。
## 分享主题介绍
diff --git a/website/articles/Apache-APISIX-Incubator-Journey.md
b/website/articles/Apache-APISIX-Incubator-Journey.md
index ea9391c3d24..08b2e024154 100644
--- a/website/articles/Apache-APISIX-Incubator-Journey.md
+++ b/website/articles/Apache-APISIX-Incubator-Journey.md
@@ -13,7 +13,7 @@ description: Apache APISIX 的孵化过程。
## 分享人简介
-温铭,Apache Member,Apache APISIX PMC 主席,支流科技联合创始人。
+温铭,Apache Member,Apache APISIX PMC 主席,[支流科技](https://api7.ai/)联合创始人。
## 分享主题介绍
diff --git a/website/articles/The-Appeal-of-OpenSource.md
b/website/articles/The-Appeal-of-OpenSource.md
index 128ba3d0ecc..eee9172ebcd 100644
--- a/website/articles/The-Appeal-of-OpenSource.md
+++ b/website/articles/The-Appeal-of-OpenSource.md
@@ -1,7 +1,7 @@
---
title: "开源的魅力"
date: 2021-08-07 14:10:00
-keywords:
+keywords:
- APISIX
- 开源
- 贡献者
@@ -16,7 +16,7 @@ description: Apache 软件基金会顶级项目 Apache APISIX 以及子项目,
## 分享人简介
-琚致远,来自深圳支流科技(api7.ai),负责团队大前端与企业产品,并作为 Apache APISIX PMC 在积极维护 Apache
项目建设与社区生态。此外,他也在坚持引导、鼓励更多人学习 Web 技术,是 freeCodeCamp 中国核心组织者之一。
+琚致远,来自深圳[支流科技](https://api7.ai/),负责团队大前端与企业产品,并作为 Apache APISIX PMC 在积极维护
Apache 项目建设与社区生态。此外,他也在坚持引导、鼓励更多人学习 Web 技术,是 freeCodeCamp 中国核心组织者之一。
## 分享主题介绍