API 参考

使用指南-自动配置架构

自动配置架构说明。

自动配置架构

统一自动配置模块

所有基础设施模块的自动配置类都集中管理在 nebula-autoconfigure 模块中,带来以下优势:

核心优势

  1. 集中式配置管理
  2. 所有自动配置类集中在一个模块中
  3. 更清晰的依赖关系和初始化顺序
  4. 避免了模块间的循环依赖问题

  5. 更好的开发体验

  6. 应用只需引入 nebula-autoconfigure 依赖
  7. 零配置启动,按需自动加载功能模块
  8. 明确的配置顺序和依赖关系

  9. 架构解耦

  10. 基础模块专注于核心功能实现
  11. 配置逻辑分离到独立模块
  12. 易于扩展和维护

自动配置初始化顺序

flowchart TD
    A[NacosDiscoveryAutoConfiguration<br/>服务发现] --> B[HttpRpcAutoConfiguration<br/>HTTP RPC]
    A --> C[GrpcRpcAutoConfiguration<br/>gRPC]
    B --> D[RpcDiscoveryAutoConfiguration<br/>RPC+Discovery集成]
    C --> D
    D --> E[应用层服务]
    E --> F[DataPersistenceAutoConfiguration<br/>数据持久化]
    E --> G[CacheAutoConfiguration<br/>缓存]
    E --> H[RabbitMQAutoConfiguration<br/>消息队列]
    E --> I[ElasticsearchAutoConfiguration<br/>搜索引擎]
    E --> J[StorageAutoConfiguration<br/>对象存储]
    E --> K[AIAutoConfiguration<br/>AI服务]
    E --> L[CrawlerAutoConfiguration<br/>爬虫服务]
    L --> L1[HttpCrawlerAutoConfiguration]
    L --> L2[BrowserCrawlerAutoConfiguration]
    L --> L3[ProxyCrawlerAutoConfiguration]
    L --> L4[CaptchaCrawlerAutoConfiguration]

快速开始

1. 添加自动配置依赖

<!-- 统一自动配置模块 -->
<dependency>
    <groupId>io.nebula</groupId>
    <artifactId>nebula-autoconfigure</artifactId>
    <version>2.0.1-SNAPSHOT</version>
</dependency>

<!-- 按需添加功能模块 -->
<dependency>
    <groupId>io.nebula</groupId>
    <artifactId>nebula-discovery-nacos</artifactId>
</dependency>
<dependency>
    <groupId>io.nebula</groupId>
    <artifactId>nebula-rpc-http</artifactId>
</dependency>
<dependency>
    <groupId>io.nebula</groupId>
    <artifactId>nebula-data-persistence</artifactId>
</dependency>
<!-- 其他模块... -->

2. 配置应用

spring:
  application:
    name: my-nebula-app

nebula:
  # 服务发现配置
  discovery:
    nacos:
      enabled: true
      server-addr: localhost:8848
      namespace: dev

  # RPC 配置
  rpc:
    http:
      enabled: true
    discovery:
      enabled: true

  # 数据访问配置
  data:
    persistence:
      enabled: true
    cache:
      enabled: true

3. 启动应用

所有配置的功能模块将自动初始化并可用,无需手动配置