yzeng25 commented on code in PR #1250:
URL: https://github.com/apache/apisix-website/pull/1250#discussion_r933067620


##########
blog/zh/blog/2022/07/29/why-we-need-apache-apisix.md:
##########
@@ -0,0 +1,108 @@
+---
+title: "有了 NGINX 和 Kong,为什么还需要 Apache APISIX?"
+author: "韩飞"
+authorURL: "https://github.com/hf400159";
+authorImageURL: "https://github.com/hf400159.png";
+keywords: 
+- Apache APISIX
+- Kong
+- NGINX
+- API 网关
+- 开源
+description: 本文介绍了云原生 API 网关 Apache APISIX 的特点,以及 Kong 和 NGINX 的存在的痛点,并介绍了 
Apache APISIX 如何解决 NGINX 和 Kong 所带来的业务痛点。
+tags: [Case Studies]
+---
+
+> 本文介绍了 Kong 和 NGINX 的痛点,以及 Apache APISIX 如何解决它们的痛点,并且为你介绍了 Apache APISIX 
的应用场景。
+
+<!--truncate-->
+
+云原生时代,动态和可观测性成为衡量 API 网关的标准之一。Apache APISIX 自诞生之初就一直跟随着云原生的脚步前行。然而 Apache 
APISIX 作为一个诞生刚刚三年的新一代网关,为什么可以从诞生 20 多年的 NGINX 与开源 8 年的 Kong 
中突出重围,成为云原生时代最流行以及最活跃的网关?我认为其中最重要的原因是解决了开发者和企业在使用 NGINX 和 Kong 中的痛点。
+
+## NGINX 与 Kong 的痛点
+
+在单体服务时代,使用 NGINX 可以应对大多数的场景,而到了云原生时代,NGINX 因为其自身架构的原因则会出现两个问题:
+
+- 首先是 NGINX 不支持集群管理。几乎每家互联网厂商都有自己的 NGINX 配置管理系统,系统虽然大同小异但是一直没有统一的方案。
+- 其次是 NGINX 不支持配置的热加载。很多公司一旦修改了配置,重新加载 NGINX 的时间可能需要半个小时以上。并且在 Kubernetes 
体系下,上游会经常会发生变化,如果使用 NGINX 来处理就需要频繁重启服务,这对于企业是不可接受的。
+
+而 Kong 的出现则解决了 NGINX 的痛点,但是又带来了新的问题:
+
+- Kong 需要依赖于 PostgreSQL 或 Cassandra 数据库,这使 Kong 
的整个架构非常臃肿,并且会给企业带来一个高可用的问题。如果数据库故障了,那么整个 API 网关都会出现故障。
+- Kong 的路由使用的是遍历查找,当网关内有超过上千个路由时,它的性能就会出现比较急剧的下降。
+
+而 APISIX 的出现则解决了上述所有问题,成为了云原生时代最完美的 API 网关。那么 Apache APISIX 
的优势到底什么呢?为什么可以在短短三年的时间里成为全世界最活跃的网关?
+
+## APISIX 的优势
+
+### 优异的架构
+
+首先 Apache APISIX 
拥有优异的架构,现在很多应用都在向微服务、容器化迁移,形成新的云原生时代。云原生作为当下的技术潮流,将重写传统企业的技术架构。而 APISIX 
自诞生之初就跟随技术潮流,并将其设计为云原生架构:
+
+![apisix](https://static.apiseven.com/2022/blog/0729/1.png)
+
+如上图所示,左右分别是 APISIX 的数据面(Data Plane)和控制面(Control Plane):
+
+- 数据面:以 NGINX 的网络库为基础(未使用 NGINX 的路由匹配、静态配置和 C 模块),使用Lua 和 NGINX 动态控制请求流量;
+- 控制面:使用 etcd 来存储和同步网关的配置数据,管理员通过 Admin API 或者 Dashboard 可以在毫秒级别内通知到所有数据面节点。
+
+在更新数据上,Kong 采用轮询数据库的方式,但是可能需要 5-10 秒才能获取到最新的配置;而 APISIX 则采用监听 etcd 
的配置变更的方式,可以将时间控制在毫秒级,达到实时生效的效果。
+而且由于 APISIX 和 etcd 均支持多点部署,因此在 APISIX 当前架构中,任何一个服务出现异常宕机等事故,都不会影响 APISIX 
正常对外提供服务的能力。
+
+### 完善的生态
+
+下图为 APISIX 的生态图,从该图可以准确看到 APISIX 已经支持了 7 层协议有 HTTP(S)、HTTP2、Dubbo、QUIC 和物联网协议 
MQTT 等等,4 层协议有 TCP/UDP。
+右侧部分则是一些开源或者 SaaS 服务,比如 SkyWalking、Prometheus 、Vault 
等等。而最下面则是比较常见的操作系统环境、云厂商和硬件环境。而作为一个开源软件,APISIX 也支持在 ARM64 的服务器上运行。
+
+![APISIX's Ecosystem](https://static.apiseven.com/2022/blog/0729/2.PNG)
+
+APISIX 不仅支持众多协议与操作系统,而且也支持多语言编程插件。APISIX 诞生之初仅支持使用 Lua 语言编写插件,这种情况下就需要开发者掌握 
Lua 和 NGINX 相关的技术栈。然而 Lua 和 NGINX 属于相对小众的技术,开发者很少。因此我们在 APISIX 
上支持了多语言开发插件,目前已经正式支持了 Java、Golang、Node.js、Python 等语言。
+
+![programming language](https://static.apiseven.com/2022/blog/0729/3.png)
+
+活跃的社区

Review Comment:
   ```suggestion
   ### 活跃的社区
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to