作者:地平线云原生开发工程师–张昕
在当前的汽车行业,大多数公司都在向自动驾驶和新能源方向转型,而对于自动驾驶方面,每家企业都投入了大量的资源来完成自动驾驶模型的开发与训练,其中出现了很多明星企业,比如汽车智能计算平台引领者地平线。地平线主要从事汽车智能计算平台的研发,具有领先的深度学习算法和芯片设计能力,致力于通过底层技术赋能,推动汽车产业的创新发展。
智能汽车是机器人时代第一个大终端,地平线同时也通过软硬件的结合,广泛赋能泛机器人行业的应用落地。在硬件层面,地平线基于自主研发的专用计算架构BPU(Brain Processing Unit) ,推出面向智能驾驶的计算平台征程系列和面向泛机器人的旭日系列。在软件层面,面向智能汽车AI软件产品开发及迭代需求,地平线打造地平线艾迪®AI开发平台,能够为智能汽车AI开发者提供数据标注、训练、优化、部署、管理与性能分析等能力。整套基础设施,开箱即用,用户无需从零搭建一套复杂的自动驾驶跨平台系统,只需聚焦于核心价值积累。
对于一家快速发展的科技公司而言,如何保证业务稳定运行与轻松管理是非常重要的,而网关则是保证业务稳定的第一道关卡。由于之前网关存在了一些无法解决的问题,因此地平线对网关重新进行选型,最终选择了 Apache APISIX Ingress Controller 作为公司的流量网关,统一提供服务。
网关选型之路
Traefik 的不足
在使用 APISIX Ingress 之前,业务系统使用的 Ingress Controller 是 Traefik 1.x 版本,但是存在以下几个问题:
-
Traefik 1.x 是通过 Ingress 来配置路由规则的,部分插件需要通过添加
annotation
的方式进行配置。这种方式,只能针对当前 Ingress下的所有规则添加插件,无法实现更细粒度的配置。 -
Traefik 1.x 不支持具体