Skip to content

Erupt Cloud 分布式

TIP

分布式架构中使用 erupt 数据管理能力,构建通用云配中心,管理集群内任意服务!

0 前端代码,纯注解实现不同微服务的配置管理,无需前端对接与接口暴露。

对比 Apollo 等传统方案,Erupt-Cloud 在配置形态、权限粒度、业务扩展等方面提供极高定制空间,让微服务配置真正"看得见、管得住、改得动",显著提升分布式系统的可控性与运维效率。

⭐️ 应用场景

无需关注上层 erupt 架构,天然实现数据库隔离、资源隔离。

分布式架构中,根据微服务能力不同,管理不同的配置,可根据服务的能力实现各种可视化配置,如:

  • 通知服务:提供通知模板配置、通道配置、发送规则配置等
  • APP 服务:提供 APP 各个版本的配置,如更新文件、更新方式、版本号、更新内容等
  • 网关服务:提供不同服务的网关配置,如超时时间、转发路径、限流规则等
  • 埋点服务:管理埋点事件、埋点策略、埋点方式、埋点路径等
  • 消息服务:管理 topic 的创建与监听、推送策略等配置
  • 算法服务:管理 GPT 智能体的 prompt、算法模糊匹配规则等
  • 快递服务:管理外部物流服务商信息,如快递公司名称、接口对接方式、密钥、功能列表等
  • 数据服务:指标管理、数据模型管理、数据关系配置等

与 Erupt Admin 的区别

Erupt-AdminErupt-Cloud
应用场景单机分布式集群
架构优势开发简单,单机部署资源隔离,业务隔离,适合中大型团队协作开发
数据库依赖用户、角色、菜单相关业务表分布式节点无表依赖
内部依赖依赖 erupt-upms、erupt-security、erupt-web 等仅需依赖 erupt-node 即可,轻量级使用 erupt
能力全部 erupt 能力,根据插件扩充边界拥有 erupt 核心能力,包括:自定义按钮、DataProxy、国际化等

与传统分布式后台的区别

传统管理后台Erupt Cloud
开发方式接口开发 + 前端对接 + 网关请求注册节点 + 无需关注网关
前端对接绘制界面 UI,接口联调,权限配置等无需前端对接,配置菜单权限即可
权限控制额外的权限控制代码,或网关整体控制erupt-cloud-server 自带完整的权限体系,权限可在菜单中自由管理与扩展
数据安全通过网关或前端控制,服务内部可能通过 token 控制支持:表、行、列、按钮等层级的数据隔离控制

与配置中心的能力差异

Nacos / Apollo / Spring ConfigErupt Cloud
管理数据的方式配置型描述文件,适合管理基础格式的数据有行列关系,适合更加复杂的多行数据
数据回溯基于版本,可任意回退基于审计,任何操作都会在平台中留下痕迹
权限控制用户角色的权限控制用户角色权限控制,可精细到行、列、按钮
面向群体研发研发、运营、产品
关注点基于 yml / json / prop 等格式的编译时或运行时配置基于数据表的运行时配置

应用场景与关注点不同,可以与 Nacos、Apollo 等中间件同时存在,各司其职。

整体架构

INFO

优势:打包体积小,低侵入性,平滑升级,业务隔离,快速启动,适合大规模团队的开发协作

部署:不依赖 Nacos,不依赖 Eureka,部署非常简单

容器:对 k8s 友好,支持 ip 漂移、k8s svc 映射

资源隔离:数据库连接池隔离,代码逻辑隔离

调用时序图

集群架构图

DANGER

集群内任意服务都可接入 erupt-node 实现该服务内部的配置管理,可做到多维配置、实时变更、协作管理、权限检查等。

高可用架构图

下图每个 node 都可以理解为一个服务,它接入了 erupt-node 来管理本服务内的配置信息。

INFO

用于管理 node 节点,负责服务注册中心,请求调度与负载分发。

快速开始

引入方式

Server 端:

xml
<dependency>
  <groupId>xyz.erupt</groupId>
  <artifactId>erupt-cloud-server</artifactId>
  <version>${erupt.version}</version>
</dependency>

Node 端:

xml
<dependency>
  <groupId>xyz.erupt</groupId>
  <artifactId>erupt-cloud-node</artifactId>
  <version>${erupt.version}</version>
</dependency>

Released under the Apache-2.0 License.