You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@apisix.apache.org by GitBox <gi...@apache.org> on 2021/09/24 11:13:39 UTC

[GitHub] [apisix-website] liuxiran commented on a change in pull request #627: docs: add Youpai-Cloud usercase

liuxiran commented on a change in pull request #627:
URL: https://github.com/apache/apisix-website/pull/627#discussion_r715525314



##########
File path: website/blog/2021-09-24-youpaicloud-usercase.md
##########
@@ -0,0 +1,160 @@
+---
+title: "Apache APISIX Ingress 为何成为又拍云打造容器网关的新选择?"
+author: "陈卓"
+keywords: 
+- Apache APISIX
+- Apache APISIX Ingress
+- 又拍云
+- 容器网关
+description: 本文介绍了又拍云选择 Apache APISIX Ingress 后所带来公司内部网关架构的更新与调整,同时分享了在使用过程中的一些实践场景介绍。
+tags: [User Case]
+---
+
+> 本文介绍了又拍云选择 Apache APISIX Ingress 后所带来公司内部网关架构的更新与调整,同时分享了在使用过程中的一些实践场景介绍。
+> 作者陈卓,又拍云开发工程师,负责云存储、云处理和网关应用开发。
+
+<!--truncate-->
+
+## 项目背景介绍
+
+目前市面上可执行 Ingress 的产品项目逐渐丰富了起来,可选择的范围也扩大了很多。这些产品按照架构大概可分为两类,一类像 k8s Ingress、Apache APISIX Ingress,他们是基于 Nginx、OpenResty 等传统代理器,使用 k8s-Client 和 Golang 去做 Controller。还有一类新兴的用 Golang 语言去实现代理和控制器功能,比如 Traefik。
+
+又拍云最开始包括现在的大部分业务仍在使用 Ingress-Nginx,整体架构如下。
+
+![Ingress-Nginx 架构](https://static.apiseven.com/202108/1632469775377-8303128c-e8a6-4594-a87b-ac6942f4895e.png)
+
+下层为数据面 OpenResty。上层 Controller 主要是监听 APIServer 的资源变化,并生成 nginx.conf 配置文件,然后 Reload OpenResty。如果 POD IP 发生变化,可直接通过 HTTP 接口传输给 OpenResty Lua 代码去实现上游 Upstream node 替换。
+
+Ingress-Nginx 的扩展能力主要通过 Annotations 去实现,配置文件本身的语法和路由规则都比较简单。可以按照需求进行相关指令配置,同时也支持可拓展 Lua 插件,提高了定制化功能的可操作性。
+
+![Ingress-Nginx 扩展能力实现](https://static.apiseven.com/202108/1632469835090-20c409f6-0416-4b2f-9ad7-4c836638f892.png)
+
+但 Ingress-Nginx 它也有一些缺点,比如:
+
+- 开发插件时组件依赖复杂,移植性差
+- 语义能力弱
+- 任何一条 Ingress 的修改都需要 Reload,对长链接不友好
+
+在维护现有逻辑时,上述问题造成了一定程度的困扰,所以我们开始寻找相关容器网关替代品。
+
+## 调研阶段
+
+在替代 Ingress-Nginx 的选择中,我们主要考量了 Traefik 和 Apache APISIX-Ingress。

Review comment:
       ```suggestion
   在替代 Ingress-Nginx 的选择中,我们主要考量了 Traefik 和 Apache APISIX Ingress。
   ```




-- 
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: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org