跳到主要内容
📖 本章预览

本章为预览版本,展示部分核心内容。完整内容包含详细源码解析、实战代码和面试要点,加入知识星球即可解锁全部章节。

第26章 生产部署:从开发到上线全攻略

26.1 Spring Boot 容器化部署

26.1.1 Dockerfile

# 多阶段构建
FROM eclipse-temurin:17-jdk-alpine AS builder
WORKDIR /app
COPY pom.xml .
COPY src ./src
COPY .mvn ./.mvn
COPY mvnw .
RUN chmod +x mvnw && ./mvnw package -DskipTests

FROM eclipse-temurin:17-jre-alpine
WORKDIR /app
COPY --from=builder /app/target/*.jar app.jar

# JVM 参数优化
ENV JAVA_OPTS="-Xms512m -Xmx1024m -XX:+UseG1GC -XX:MaxGCPauseMillis=200"
EXPOSE 8080
ENTRYPOINT ["sh", "-c", "java $JAVA_OPTS -jar app.jar"]

26.1.2 Docker Compose

version: '3.8'
services:
app:
build: .
ports:
- "8080:8080"
environment:
- SPRING_PROFILES_ACTIVE=prod
- AI_API_KEY=${AI_API_KEY}
depends_on:
- redis
- postgres

redis:
image: redis:7-alpine
ports:
- "6379:6379"
volumes:
- redis-data:/data

postgres:
image: pgvector/pgvector:pg16
environment:
POSTGRES_DB: ai_app
POSTGRES_USER: app
POSTGRES_PASSWORD: ${DB_PASSWORD}
ports:
- "5432:5432"
volumes:
- pg-data:/var/lib/postgresql/data

volumes:
redis-data:
pg-data:

26.2 配置中心集成

26.2.1 Nacos 配置

# bootstrap.yml
spring:
application:
name: spring-ai-app
cloud:
nacos:
config:
server-addr: ${NACOS_ADDR:localhost:8848}
namespace: ${NACOS_NAMESPACE:prod}
file-extension: yml
# Nacos 中的配置(spring-ai-app.yml)
spring:
ai:
dashscope:
api-key: ${AI_API_KEY}
chat:
options:
model: qwen-plus
temperature: 0.7
vectorstore:
pgvector:
dimensions: 1536

26.2.2 动态配置刷新


🔒 解锁完整内容

本章剩余内容需要解锁后查看

以上仅为本章部分预览内容,完整内容包含更多深度源码解析、实战代码和面试要点。

加入知识星球你将获得:

  • ✅ 全部 26 章完整内容 + 持续更新
  • ✅ 配套源码 + 实战项目
  • ✅ 一对一答疑 + 面试辅导
  • ✅ 简历优化 + 内推机会

📚 本章完整目录

以下为本章完整目录结构,加入知识星球即可解锁全部内容。

26.3 灰度发布与模型版本管理

26.3.1 模型灰度切换

26.4 高可用架构

26.4.1 多模型 Failover

26.4.2 熔断降级

26.4.3 生产部署检查清单