You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@apisix.apache.org by bz...@apache.org on 2021/11/09 03:28:38 UTC

[apisix-website] branch master updated: docs: add translations for Tencent TI-ONE user case (#709)

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

bzp2010 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 712480b  docs: add translations for Tencent TI-ONE user case (#709)
712480b is described below

commit 712480ba923193474850c9d4bb146a565b2022c6
Author: yilinzeng <36...@users.noreply.github.com>
AuthorDate: Tue Nov 9 11:28:17 2021 +0800

    docs: add translations for Tencent TI-ONE user case (#709)
---
 website/blog/2021/09/16/tencent-cloud.md | 95 ++++++++++++++++----------------
 1 file changed, 49 insertions(+), 46 deletions(-)

diff --git a/website/blog/2021/09/16/tencent-cloud.md b/website/blog/2021/09/16/tencent-cloud.md
index dcada23..f610a71 100644
--- a/website/blog/2021/09/16/tencent-cloud.md
+++ b/website/blog/2021/09/16/tencent-cloud.md
@@ -1,94 +1,97 @@
 ---
-title: "Apache APISIX 在腾讯云智能钛平台中的落地实践"
-author: "刁寿钧"
+title: "Implementing Apache APISIX in Tencent Cloud TI-ONE Platform"
+author: "Shoujun Diao"
 keywords:
 - Apache APISIX
-- 腾讯云
+- Tencent
 - Kong
 - Nginx
-description: 本文主要介绍了腾讯云智能钛平台使用 Apache APISIX 的企业案例,以及使用 Apache APISIX 作为产品流量网关的具体例子。
+description: This article is a practical case of implementing Apache APISIX in Tencent Cloud’s production environment.
 tags: [User Case]
 ---
 
-> 本文主要介绍了腾讯云智能钛平台使用 Apache APISIX 的企业案例,以及使用 Apache APISIX 作为产品流量网关的具体例子。
+> This article is a practical case of implementing Apache APISIX in Tencent Cloud’s production environment.
 
 <!--truncate-->
 
-## 背景介绍
+## Background Information
 
-腾讯云智能钛机器学习平台(TI-ONE)是为 AI 工程师打造的一站式机器学习服务平台,为用户提供从数据预处理、模型构建、模型训练到模型评估的全流程开发支持。智能钛机器学习平台内置丰富的算法组件,支持多种算法框架,满足多种 AI 应用场景的需求。
+Tencent Cloud Intelligent Titanium Machine Learning Platform (TI-ONE) is a machine learning service platform for AI engineers, providing users with full-process development support from data pre-processing, model building, model training to model evaluation. TI-ONE has rich built-in algorithm components and supports multiple algorithm frameworks to meet the needs of various AI application scenarios.
 
-![腾讯云智能钛机器学习平台架构图](https://static.apiseven.com/202108/1631781110822-39c59a83-aa18-4934-a2ef-43cd58866878.jpg)
+![TI-ONE Architecture](https://static.apiseven.com/202108/1631781110822-39c59a83-aa18-4934-a2ef-43cd58866878.jpg)
 
-## 产品需求
+## What Does TI-ONE Need from Apache APISIX?
 
-我们将需求分为两大类:技术需求,即研发团队对于 API 网关的需求;业务需求,即智能钛机器学习平台使用者对于 API 网关的需求。
+We divide the requirements into two categories: technical needs, i.e. the requirements of the R&D team for the API gateway; and business needs, i.e. the requirements of the users of the TI-ONE for the API gateway.
 
-技术层面主要需求为具备跨横切面功能。具体来说,是将鉴权、限流、日志、监控等跨横切面的功能内聚到 API 网关,对后端服务进行解耦,使研发聚焦功能开发,并且降低维护成本。
+The main requirement at the technical aspect is to have cross-sectional functionality. Specifically, cross-plane functions such as authentication, flow limit, logging, monitoring, etc. are coalesced into the API gateway to decouple the back-end services, so that R&D can focus on function development and reduce maintenance costs.
 
-考虑到后续业务对接腾讯云的需求,API 网关必须支持腾讯定制的鉴权和登录机制以及遵守腾讯云 API 3.0 的格式。
+Considering the demand of subsequent business connection to Tencent Cloud, the API gateway must support Tencent’s customized authentication and login mechanism and comply with Tencent Cloud API 3.0 format.
 
-![腾讯云网关技术需求](https://static.apiseven.com/202108/1632067141398-816af366-f7d5-47ad-ad85-3df534ada734.58)
+![TI-ONE's Technical Needs](https://static.apiseven.com/202108/1632067141398-816af366-f7d5-47ad-ad85-3df534ada734.58)
 
-业务层面则主要考虑使用者感受。平台进行开发时,AI 和算法同事需要交互式编程环境,那么就需要 API 网关支持 Notebook。完成部署后,API 网关需要具有流量分配功能和足够高的性能,满足多用户直接调用接口的场景。还需支持请求级别的监控,包括日志(Logging)监控和指标(Metrics)监控。
+From the business aspect, the main consideration is user perception. When the platform is developed, AI and algorithm colleagues need an interactive programming environment, and then the API gateway needs to support Notebook. It also needs to support request-level monitoring, including logging monitoring and metrics monitoring.
 
-综合以上需求,我们进行了相关网关产品的调研。
+We conducted research on API Gateway products to address the above requirements.
 
-![腾讯云网关选型考量](https://static.apiseven.com/202108/1631781748143-8e30a89c-99b8-45ed-b6e6-1dddaa838342.jpg)
+![TI-ONE's requirements on  API Gateway](https://static.apiseven.com/202108/1631781748143-8e30a89c-99b8-45ed-b6e6-1dddaa838342.jpg)
 
-## 调研对比
+## Research and Compare Products
 
-进入我们考察名单的有:Envoy、Kong 以及 Apache APISIX。我们从多维度对上述三个产品进行了对比,结果如下。
+We have compared Envoy, Kong and Apache APISIX from multiple dimensions in our research stage.
 
-![竞品分析与对比](https://static.apiseven.com/202108/1631781764958-a2cadf83-80b4-4b50-ba42-76b21d0d211a.jpg)
+![Envoy, Kong and Apache APISIX Comparison](https://static.apiseven.com/202108/1631781764958-a2cadf83-80b4-4b50-ba42-76b21d0d211a.jpg)
 
-因为 Envoy 的技术栈是 C++,需要定位问题时,很可能要去看 C++ 的源代码。这种定位问题可能会对我们造成一定的影响,所以 Envoy 这个方案否决得比较早。
+Since Envoy’s technology stack is C++, it is likely that we will have to look at the C++ source code when we need to locate the problem. It is very likely to bring us some extra problems, so Envoy was eliminated from our options in the early stage.
 
-Kong 和 Apache APISIX 所使用的技术栈相同,都是 OpenResty。但是在存储依赖这一栏,Kong 依赖的是关系型数据库 PostgreSQL。在软件行业,数据库的高可用配置是非常复杂的。不仅需要配备专门的 DBA,而且实施难度也非常大。关系型数据库太重了,我们并不需要使用关系型数据库来保证 ACID 和 MVCC。
+Kong and Apache APISIX use the same technology stack, OpenResty, but in the storage dependency aspect, Kong relies on PostgreSQL, a relational database, which is a very complex database to configure for high availability in the software industry. Not only do you need to have a dedicated DBA, but it is also very difficult to implement. Relational databases are too heavy, and we don’t need to use them to guarantee ACID and MVCC.
 
-### 为什么选择了 Apache APISIX
+### Why Did TI-ONE Choose Apache APISIX?
 
-Apache APISIX 在存储依赖和路由规则这两方面做的非常好,很适合我们的业务场景。我们的业务比较看重路由灵活度和路由匹配算法。目前已接入 50 多个上游和数百条路由规则,所以我们希望路由匹配的性能越高越好。Apache APISIX 路由匹配算法复杂度明显优于 Kong,且配置生效时间小于 1ms,单核 QPS 远高于 Kong。综合以上技术和操作层面,我们最终选择了 Apache APISIX。
+Apache APISIX does a very good job of storing dependencies and routing rules, which is a good fit for our business scenario. Our business values routing flexibility and routing matching algorithms over other features. The complexity of Apache APISIX route matching algorithm is significantly better than Kong, and the configuration effective time is less than 1ms, and the single-core QPS is much higher than Kong.
 
-## 基于 Apache APISIX 的架构调整
+## Architecture Alignment Based on Apache APISIX
 
-接入 Apache APISIX 后,我们完成了智能钛机器学习平台网关方面的功能,解决了之前关于技术和业务层面的需求。
+After connecting to Apache APISIX, we have completed the gateway aspect of TI-ONE, which solves the previous requirements about technical and business level.
 
-从这张图可以看到, Apache APISIX 支持 http+pb、http+json、gRPC、WebSocket 等流量。这些流量经过了 Apache APISIX 之后,会走向智能钛机器学习平台定制开发的一些组件。
+Apache APISIX supports http+pb, http+json, gRPC, WebSocket and other traffic. After these traffic flows go through Apache APISIX, they will go to some components custom-developed by TI-ONE.
 
-![网关架构](https://static.apiseven.com/202108/1631781850656-4235a4e8-2792-48ae-9c98-b4d75628a476.jpg)
+![Apache APISIX Architecture](https://static.apiseven.com/202108/1631781850656-4235a4e8-2792-48ae-9c98-b4d75628a476.jpg)
 
-智能钛机器学习平台的业务部署在腾讯云 TKE 平台上。为了提高它的可用性,网关、 etcd 等都是集群化的部署。智能钛机器学习平台没有使用 Apache APISIX 的 dashboard,而是直接通过 Admin API 进行交互,直接写到 etcd 里面。
+The business of TI-ONE is deployed on Tencent Cloud TKE platform. In order to improve its availability, the gateway, etcd, etc. are clustered and deployed. Instead of using the Apache APISIX dashboard, Smart Titanium Machine Learning Platform interacts directly with the Admin API and writes directly to etcd.
 
-![增加插件处理](https://static.apiseven.com/202108/1631781876752-faf1b7d0-abbb-4313-879c-e00d2b28334a.jpg)
+![Add Plugin Process](https://static.apiseven.com/202108/1631781876752-faf1b7d0-abbb-4313-879c-e00d2b28334a.jpg)
 
-## 实例分享
+## Experience Sharing
 
-在实战过程中,我们总结了一些使用 Nginx 的坑,也发现了一些 APISIX 的优点,在此简单分享一下。
+In the process of doing this, we have summarized some of the pitfalls of using Nginx and discovered some of the advantages of APISIX, which we will briefly share here.
 
-### 反直觉的 Nginx 配置
+### Counterintuitive Nginx Configuration
 
-以前使用 Nginx 的时候,感觉 Nginx 是一个配置驱动的产品。可能会造成管理困难、维护成本高等困扰。Nginx 在配置管理的时候,常常会有一些反直觉的事情。在这次实战过程中,我的同事就遇到这么一个反直觉的坑:
+When I used Nginx before, I felt that Nginx was a configuration-driven product. Nginx is often counterintuitive when it comes to configuration management. One such counterintuitive pitfall was encountered by my colleague during this hands-on experience:
 
-![Nginx 配置错误](https://static.apiseven.com/202108/1631781909354-0fada4fa-1154-4974-ae3d-292ab46e5889.jpg)
+![Nginx Configuration Error](https://static.apiseven.com/202108/1631781909354-0fada4fa-1154-4974-ae3d-292ab46e5889.jpg)
 
-对于接触 Nginx 比较少的人来说,这两行命令加在 `if` 前面,且 `if` 里面并没有其他命令覆盖这两行命令,那么它们是必然会被执行的。熟悉 Nginx 的人都知道,`if` 里面的命令会覆盖掉外面的命令,但这非常反直觉。
+For those are new to Nginx, these two lines of commands are added before the `if`, and there are no other commands inside the `if` that could override them, so they should be executed. Anyone familiar with Nginx knows that the command inside the `if` overrides the outside command, but this is very counterintuitive.
 
-### 测试用例即文档
+### Test Cases as Documentation
 
-在实践使用 Apache APISIX 实践的过程中,Apache APISIX 项目的测试用例写的非常详细。即使没有深入了解过如何在 Apache APISIX 中调用某些函数,也往往能在测试用例中找到答案。后来再遇到一些 OpenResty 的问题的时候,我就会到这些测试用例里面找一找有没有相关的代码,每次都能解决问题。
+In practicing using Apache APISIX practices, the Apache APISIX project test cases are written in great detail. Even if I didn’t have a deep understanding of how to call certain functions in Apache APISIX, I could often find the answers in the test cases. When I encountered some OpenResty problems later, I would look for the relevant code in these test cases, and I was able to solve the problem every time.
 
-![详细的测试用例](https://static.apiseven.com/202108/1631781920390-a504ce7c-1ccd-4fb8-99a2-09d74be6bb7e.jpg)
+![Test Cases as Documentation](https://static.apiseven.com/202108/1631781920390-a504ce7c-1ccd-4fb8-99a2-09d74be6bb7e.jpg)
 
-## 思考与展望
+## Some Thoughts on Service Mesh
 
-在技术选型的初期,除了 Envoy、Kong 和 Apache APISIX 外,也有同事提到了 Service Mesh。有了 Service Mesh,为什么我们还要选择 Apache APISIX,这难道不是在技术上倒退吗?关于这个问题,我的观点是这样的:
+In the early stage of technology selection, apart from Envoy, Kong and Apache APISIX, some colleagues also mentioned Service Mesh. Why do we still choose Apache APISIX, given that Service Mesh is also capable of doing this? Isn’t this a regression in technology? On this issue, my view is as follows.
 
-1. API 网关在系统边界,负责处理南北向流量;Service Mesh 在集群内部,负责处理东西向流量。两者的功能不同,无法直接比较。
-2. 实践证明 Service Mesh 存在一些性能损耗。但是也有一种声音说,上云了,这点损耗可能并不是业务的性能瓶颈,所以这点是见仁见智的。
-3. 得益于 OpenResty 和 Lua 简单易上手的特性,Apache APISIX 的定制研发效率更高。 即使开发团队先前没有使用 OpenResty 或者 Lua 的开发经验,仍然能在很短的时间内完成了业务的定制开发需求。
-4. Apache APISIX 的交付成本要低于 Service Mesh。因为 Istio 社区非常活跃,版本迭代速度非常快,导致 Istio 的各个版本和 Kubernetes 的各个版本之间有不兼容的问题。在客户的生产环境中, 一些 Kubernetes 集群可能有版本差异,而这些 Kubernetes 集群无法共用一个版本的 Istio,这在实际交付的过程中是会造成一些困扰。
+1. The API gateway is at the system boundary and handles north-south traffic; the Service Mesh is inside the cluster and handles east-west traffic. The functions of the two are different and cannot be directly compared.
 
-## 个人期望
+1. Service Mesh has proven to have some performance loss. But there is also a voice that says, on the cloud, this loss may not be the performance bottleneck of the business, so this is a matter of opinion.
 
-感谢 Apache APISIX 创造了一款性能极致而且易于上手的开源 API 网关产品。在智能钛机器学习平台网的开发过程中,希望后续可以在实践中总结出更多的使用心得,反馈给 Apache APISIX 社区。
+1. Apache APISIX customization development is more efficient thanks to the easy-to-use features of OpenResty and Lua. Even if the development team has no prior development experience with OpenResty or Lua, they can still complete the custom development requirements of the business in a short period of time.
+
+1. Apache APISIX is less expensive to deliver than Service Mesh because the Istio community is very active and iterates very quickly, resulting in incompatibility between versions of Istio and versions of Kubernetes. In a customer’s production environment, some Kubernetes clusters may have version differences, and these Kubernetes clusters cannot share a single version of Istio, which can cause some problems in the actual delivery process.
+
+## Personal Expectations
+
+Thanks to Apache APISIX for creating an open source API gateway product that is extremely high performance and easy to use. During the development process of TI-ONE Network, we hope that we can learn more about using it in practice and give feedback to the Apache APISIX community.