找回密码
 注册

Sign in with Twitter

It's what's happening?

微信登录

微信扫一扫,快速登录

萍聚头条

查看: 271|回复: 0

统一AI服务入口:基于Higress构建企业级AI网关实战

[复制链接]
发表于 2025-10-24 21:47 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册 微信登录

×
作者:微信文章

最近一份由15位专家联名推荐、40位一线工程师联合撰写的《AI原生应用架构白皮书》在技术圈刷屏。白皮书系统性地拆解了AI原生应用在DevOps全生命周期中的挑战,其中如何统一管理和治理日益增多的AI服务,成为了一个核心议题。


今天,我们就结合白皮书的理念,通过一份详尽的部署笔记,动手实践一下其重点推荐的Higress AI网关。

Nacos官网:

https://nacos.io/docs/latest/overview/

Higress官网:

https://higress.io/

在线体验:

http://demo.higress.io/dashboard

AI原生应用架构白皮书:

https://developer.aliyun.com/ebook/8479

w1.jpg

1、我们为什么需要一个"AI网关"?

如果你正在开发AI原生应用,大概率会遇到这样的场景:

模型供应商百花齐放:今天用OpenAI的GPT-4,明天想试试Claude 3,后天又要接入国内的文心一言、通义千问。客户端代码里充斥着各种不同的SDK和API Key管理逻辑,维护成本极高。

Prompt与模型参数耦合:业务逻辑和Prompt模板、模型参数(如temperature)混在一起,难以复用和管理,更别提A/B测试了。

成本与用量黑盒:LLM的调用是按Token计费的,但各个服务的用量、成本、延迟是多少?哪个接口出了问题?缺乏统一、精细的可观测性手段。

安全与合规风险:API Key直接暴露在客户端或业务服务中,一旦泄露后果不堪设想。如何对敏感信息进行过滤、如何进行流控和鉴权,都是必须面对的问题。

这些问题,正是《AI原生应用架构白皮书》中指出的AI原生应用在"服务治理"环节的重难点。传统的API网关主要面向人机交互或微服务间的RPC调用,缺乏对AI服务特性的原生支持。

因此,一个专为AI时代设计的网关——AI网关——应运而生。它需要成为所有AI流量的统一入口,提供模型路由、Prompt管理、安全防护、可观测性等一站式能力。

而Higress,正是这样一个开源的、云原生的AI网关。

w2.jpg
2、实战准备:架构与环境

在动手之前,我们先简单理解一下Higress的部署架构。本次我们将采用最经典的Nacos + Higress组合。

Nacos:作为Higress的控制面,负责服务发现、配置管理和流量控制规则的存储与下发。为了保证数据持久化和高可用,我们将其与一个外部MySQL数据库关联。

Higress:作为数据面,基于Envoy构建,负责实际处理所有进出AI服务的流量。它从Nacos获取最新的路由规则和配置,并执行流量转发、插件处理等操作。

部署架构图:
用户请求 -> Higress网关(180/1443端口) -> 后端AI服务
                ↓
        Nacos配置中心(18080端口)
                ↓
        MySQL数据库(持久化存储)
2、环境搭建:一步步构建AI网关

2.1、第一步:数据库准备

Higress依赖Nacos作为配置中心,而Nacos需要MySQL持久化配置数据。首先创建数据库并初始化表结构:
-- 在本地msyql8.0的数据库上 创建nacos_v3数据库
CREATE DATABASE nacos_dev_v3 DEFAULT CHARSET utf8mb4;

-- 从Nacos官方GitHub获取对应版本的完整SQL脚本
https://github.com/alibaba/nacos/blob/3.1.0/distribution/conf/mysql-schema.sql

关键提醒:务必使用与Nacos版本匹配的SQL脚本,避免表结构不兼容导致部署失败。
2.2、第二步:编写Docker Compose配置

创建docker-compose-higress.yml文件,这是整个部署的核心:
services:
  nacos:
    image: docker.1ms.run/nacos/nacos-server:v3.1.0
    container_name: nacos-v3
    ports:
      - "18848:8848"    # 核心服务端口
      - "19848:9848"    # gRPC端口
      - "18080:8080"    # 控制台端口
    environment:
      - MODE=standalone
      - NACOS_AUTH_ENABLE=true
      - NACOS_AUTH_IDENTITY_KEY=nacos
      - NACOS_AUTH_IDENTITY_VALUE=your-secure-identity-value-2025
      - SPRING_DATASOURCE_PLATFORM=mysql
      - MYSQL_SERVICE_HOST=192.168.0.220
      - MYSQL_SERVICE_PORT=3306
      - MYSQL_SERVICE_DB_NAME=nacos_dev_v3
      - MYSQL_SERVICE_USER=root
      - MYSQL_SERVICE_PASSWORD=123456
    volumes:
      - "./higress/nacos/logs:/home/nacos/logs"
      - "./higress/nacos/data:/home/nacos/data"
    restart: unless-stopped
    networks:
      - higress-network

  higress:
    image: higress-registry.cn-hangzhou.cr.aliyuncs.com/higress/all-in-one:latest
    container_name: higress-all-in-one
    ports:
      - "180:80"        # HTTP流量入口
      - "1443:443"      # HTTPS流量入口
      - "18000:8001"    # 控制台端口
    environment:
      - HIGRESS_MODE=standalone
      - NACOS_SERVER_ADDR=nacos:8848
      - NACOS_USERNAME=nacos
      - NACOS_PASSWORD=nacos
    depends_on:
      - nacos
    restart: unless-stopped
    networks:
      - higress-network

networks:
  higress-network:
    driver: bridge
2.3、第三步:启动与验证

# 创建目录结构
mkdir -p /home/docker/higress/nacos/{logs,data}

# 启动服务
docker compose -f docker-compose-higress.yml up -d

# 检查服务状态
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"

预期输出:
text
NAMES               STATUS              PORTS
nacos-v3            Up 5 minutes        0.0.0.0:18848->8848/tcp, 0.0.0.0:19848->9848/tcp, 0.0.0.0:18080->8080/tcp
higress-all-in-one  Up 5 minutes        0.0.0.0:180->80/tcp, 0.0.0.0:1443->443/tcp, 0.0.0.0:18000->8001/tcp
2.4、访问地址:

Nacos控制台: http://192.168.0.220:18080
(nacos/nacos)

w3.jpg

Higress控制台: http://192.168.0.220:18000/route
(admin/admin)

w4.jpg
3、部署常见问题与解决方案

3.1、问题1:Nacos连接失败

现象:Higress启动后无法连接Nacos,控制台显示连接错误。 排查步骤:
# 进入Higress容器检查网络连通性
docker exec -it higress-all-in-one ping nacos

# 检查Nacos容器日志
docker logs nacos-v3

# 验证Nacos服务状态
curl http://localhost:18080/nacos/actuator/health
解决方案:确保Nacos完全启动后再启动Higress,使用depends_on控制启动顺序。
3.2、问题2:MySQL连接异常

现象:Nacos启动失败,日志显示数据库连接错误。 排查重点:
检查数据库服务器IP、端口是否正确

验证数据库用户名和密码

确认数据库nacos_dev_v3已创建且表结构初始化完成
3.3、问题3:控制台访问异常

现象:18080或18000端口无法访问。 排查步骤:
# 检查端口绑定状态
netstat -tunlp | grep 18000

# 检查容器端口映射
docker port higress-all-in-one

# 验证防火墙规则
iptables -L -n | grep 18000
3.4、Higress AI能力初体验

部署完成后,让我们快速体验Higress的AI专属能力:

启用Token级别限流通过插件配置基于Token消耗的限流策略,精准控制AI服务使用成本。

配置智能降级设置主备模型服务,当主服务故障时自动切换到备用服务,保证业务连续性。
4、总结:AI网关的核心价值

通过本次实战部署,我深刻体会到Higress作为AI网关的核心价值:

统一治理:通过标准化接口,屏蔽后端多模型服务的差异,极大降低客户端复杂度。

成本可控:基于Token的精细化限流和计量,让AI服务使用成本变得透明可控。

稳定可靠:智能降级、熔断机制确保在部分服务故障时业务仍能正常运行。

安全合规:统一的认证鉴权、敏感信息过滤,筑牢安全防线。

正如《AI原生应用架构白皮书》所强调的,在AI应用开发的早期阶段就引入统一的治理架构,能够避免后续大量的重构成本。Higress作为开源、云原生的AI网关,无疑是构建AI基础设施的理想选择。
5、下一步探索:


尝试配置MCP Server,将普通API转换为AI Agent可调用的工具

体验Higress的AI缓存功能,优化高频重复请求的响应性能

探索全链路追踪,深入了解AI服务的性能瓶颈
END
欢迎点赞,在看,转发给我鼓励~👇👇关注我👇👇阅读更多好文,领取学习资料
我是南哥,10年全栈工程师,小公司项目经理

喜欢研究新技术,分享技术干货

回复“AI入门”,领取7本AI入门电子书;

回复“AI学习”,领取17本AI必看电子书;

推荐阅读:1、华为三进制革命:一场改变AI未来的“算力核爆”!2、文档解析神器MinerU太强了!PDF转Markdown精准高效,完全免费开源3、成本不过百,智商赛过Siri!开源ESP32小智 AI 重新定义AI助理4、AI平权运动:小智开源服务端如何让中小企业成本降低50%?5、Manus背后的技术实现原理全解析
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
您需要登录后才可以回帖 登录 | 注册 微信登录

本版积分规则

Archiver|手机版|AGB|Impressum|Datenschutzerklärung|萍聚社区-德国热线-德国实用信息网

GMT+1, 2025-11-7 10:25 , Processed in 0.113539 second(s), 30 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表