Apache APISIX 助力便利充电创领者小电,实现云原生方案(3)

简介: Apache APISIX 助力便利充电创领者小电,实现云原生方案(3)

基于 Apache APISIX 的具体实践


基于 OpenShift 部署


OpenShift 具有非常严格的 SCC 机制,在利用 OpenShift 去部署 Apache APISIX 时遇到了很多问题,所以每次发版都要重新去做编译。

另外基于 Apache APISIX 提供的 Docker 镜像功能,我们将日常的一些基础软件进行了更新,比如调优和问题查看,通过 Image Rebuild 功能上传到内部镜像仓库。


跨版本平滑处理


我们一开始使用的 Apache APISIX 为 1.5 版本,在更新到最新版本的过程中,我们经历了类似 etcd v2 版本性能下降、增加了 CORS 插件强校验等情况。


image.png


基于此,我们采取了版本切流的方案,新版本启用并创建新的 Service 以及暴露相关 SLB 信息。通过 Service 的 Selector 属性,将 Gateway 切换到新版本的 Apache APISIX 中。另一方面我们也会将流量进行切分处理,将部分流量通过 DNS 解析到新版本 Apache APISIX SLB 地址,来实现版本更迭的平滑处理。


解决 etcd 压缩问题


在使用期间我们也观察到 Load 一直突高不下的情况,经检查发现 etcd 内的数据量已达到 600 多兆,所以我们采取了定期压缩 etcd 的措施,将历史事物数据全部清除。具体代码可参考:


获取 Client-IP


在线上业务场景中,我们需要获取到源 IP 去做相关的业务处理。刚好 Apache APISIX 提供了「X-Real-IP」的功能,通过配置 real_ip_header 和开启 externalTrafficPolicy 的 Local 模式进行相关获取操作。


未来期望


众所周知,小电现在是主做共享充电宝业务场景,所以在属性上也是偏物联网方向。

从业务层面出发,我们也还有一些重要业务比如 MQTT 类型的应用。目前它们在容器内还是以 SLB 模式去暴露的,希望后续也可以接入到整个 Apache APISIX 集群里。

从前端层面来讲,目前的前端应用还是部署在容器里,后续我们也打算将前端应用直接接入 Apache APISIX,通过 Proxy Rewrite 插件功能直接指向我们的阿里云 OSS 域名。这样可以节省容器部署的资源,进行更方便地管理。

在对 Apache APISIX 项目上,我们经过实践部署也产生了一些改进需求,希望后续 Apache APISIX 的版本更迭中可以进行相关功能的支持或完善。比如:


  1. 技术管理层面进行多集群功能的添加
  2. 开发层面进行更细粒度的用户权限管理
  3. 功能层面支持 SSL 证书滚动更新
  4. Apache APISIX-Ingress-Controller 相关业务接入


关于作者


孙冉,运维专家。目前就职于小电平台架构部,主要负责 K8s 集群和 API 网关的相关部署。


关于 Apache APISIX


Apache APISIX 是一个动态、实时、高性能的开源 API 网关,提供负载均衡、动态上游、灰度发布、服务熔断、身份认证、可观测性等丰富的流量管理功能。Apache APISIX 可以帮忙企业快速、安全的处理 API 和微服务流量,包括网关、Kubernetes Ingress 和服务网格等。


image.png



往期推荐:

相关文章
|
2月前
|
弹性计算 安全 微服务
【阿里云云原生专栏】容器网络技术前沿:阿里云Terway网络方案详解
【5月更文挑战第26天】阿里云Terway是高性能的容器网络方案,基于ECS的ENI实现,提供低延迟高吞吐的网络服务。它简化网络管理,实现安全隔离,并与阿里云服务无缝集成。Terway由CNI、Node和Controller组成,适用于微服务、混合云和多租户环境,为企业数字化转型中的复杂网络需求提供强大支持。
279 1
|
2月前
|
运维 Cloud Native Apache
云计算新宠:探索Apache Doris的云原生策略
云计算新宠:探索Apache Doris的云原生策略
|
2月前
|
SQL 关系型数据库 MySQL
基于TIS构建Apache Hudi千表入湖方案
基于TIS构建Apache Hudi千表入湖方案
60 2
|
2月前
|
运维 Cloud Native Apache
云计算新宠:探索Apache Doris的云原生策略
云计算新宠:探索Apache Doris的云原生策略
73 2
|
2月前
|
存储 关系型数据库 Apache
Apache Doris 实时数据仓库的构建与技术选型方案
Apache Doris 实时数据仓库的构建与技术选型方案
394 32
|
2月前
|
缓存 分布式计算 Apache
Apache Hudi与Apache Flink更好地集成,最新方案了解下?
Apache Hudi与Apache Flink更好地集成,最新方案了解下?
96 0
|
2月前
|
存储 SQL 分布式计算
使用Apache Pulsar + Hudi 构建Lakehouse方案了解下?
使用Apache Pulsar + Hudi 构建Lakehouse方案了解下?
42 0
|
2月前
|
Cloud Native Dubbo 应用服务中间件
Apache Dubbo 下一代云原生微服务挑战赛启动报名!五大赛题 50 万奖金池
Apache Dubbo 下一代云原生微服务挑战赛启动报名!五大赛题 50 万奖金池
|
2月前
|
弹性计算 运维 Cloud Native
阿里云云原生弹性方案,用弹性解决集群资源利用率难题
本文主要介绍了通过弹性,实现成本优化,解决集群资源利用率难题。
92581 8
|
7月前
|
Kubernetes Cloud Native NoSQL
TuGraph Analytics云原生部署:基于K8S Operator的轻量级作业启动方案
TuGraph Analytics作业可以通过Console提交部署到K8S集群,但Console是一个独立的Web系统,部署形态上相对较重。在平台工具系统接入或大数据生态集成场景中,需要更轻量级的快速接入TuGraph Analytics的方案。

推荐镜像

更多