后端 Verticle 架构实战:用 NeonBeeDeployable 推送一条通知

这几年写后端,越来越明显一个趋势:
不是所有业务都适合"重量级 Spring Boot 微服务"

尤其是:

  • IO 密集
  • 高并发
  • 事件驱动
  • 逻辑拆得很碎的系统

这类场景下,Vert.x 那一套 Verticle 架构,真的很香。

这篇文章我就用 NeonBee + NeonBeeDeployable ,结合一个真实业务场景:推送通知,完整聊一聊:

  • Verticle 架构是啥
  • NeonBeeDeployable 怎么用
  • 实际代码怎么写
  • 和传统 Spring Boot 微服务到底差在哪 🤔

一、先说人话:Verticle 架构是啥?

一句话版本:

Verticle = 一个轻量、无状态、事件驱动的业务单元

在 Vert.x 里:

  • 一个 Verticle 通常只做一件事
  • 通过 EventBus 通信
  • 不关心 HTTP、端口、线程池这些脏活累活

你可以把它理解成:

"跑在同一个 JVM 里的微服务"

而不是:

  • 一个服务一个进程
  • 一个服务一个端口
  • 一堆 Spring Context 😅

二、NeonBeeDeployable 是干嘛的?

如果你用过原生 Vert.x,大概率会遇到这些问题:

  • Verticle 生命周期要自己管
  • 配置读取很乱
  • 部署顺序、依赖不好处理

NeonBeeDeployable 就是来解决这些"工程化问题"的:

👉 它提供:

  • 统一的 Verticle 部署入口
  • 配置自动注入
  • 和业务强相关的 Deployable 抽象

简单说就是:

让 Verticle 更像一个"业务组件",而不是底层框架代码


三、真实业务场景:推送一条通知 🔔

假设我们有这么一个需求:

当用户下单成功后,需要:

  1. 发送站内通知
  2. 可能后续接短信 / 邮件
  3. 不影响下单主流程(异步)

如果你用 Spring Boot,通常是:

  • Order Service
  • 调 Notification Service 的 REST API
  • 或者发 MQ

在 Verticle 架构里,我们可以更轻量一点 👇


四、整体架构设计(Verticle 版)

text 复制代码
OrderVerticle
     |
     |  EventBus.send("notification.push")
     ↓
NotificationVerticle
     |
     ├─ 站内通知
     ├─ 短信(可选)
     └─ 邮件(可选)

特点:

  • 没有 HTTP 调用
  • 没有序列化 / 反序列化
  • 全部 JVM 内异步通信

五、NotificationVerticle 示例(NeonBeeDeployable)

1️⃣ 定义通知消息对象

java 复制代码
public class NotificationMessage {
    public String userId;
    public String title;
    public String content;
}

2️⃣ 实现 NotificationVerticle

java 复制代码
public class NotificationVerticle extends NeonBeeDeployable {

    @Override
    public void start() {
        vertx.eventBus().consumer(
            "notification.push",
            message -> {
                NotificationMessage msg =
                    Json.decodeValue(message.body().toString(), NotificationMessage.class);

                // 模拟写数据库 / 调第三方
                pushInAppNotification(msg);

                message.reply("ok");
            }
        );
    }

    private void pushInAppNotification(NotificationMessage msg) {
        System.out.println(
            "📣 给用户 " + msg.userId +
            " 推送通知:" + msg.title
        );
    }
}

是不是非常直白?
没有 Controller、没有 Service、没有一堆注解 👍


六、OrderVerticle 里怎么调用?

java 复制代码
public class OrderVerticle extends NeonBeeDeployable {

    public void onOrderCreated(String userId) {
        NotificationMessage msg = new NotificationMessage();
        msg.userId = userId;
        msg.title = "下单成功 🎉";
        msg.content = "你的订单已创建成功";

        vertx.eventBus().request(
            "notification.push",
            Json.encode(msg),
            ar -> {
                if (ar.succeeded()) {
                    System.out.println("通知已发送");
                }
            }
        );
    }
}

这里的好处是:

  • 下单逻辑 完全不关心通知怎么实现
  • 通知慢了、挂了,都不影响主流程
  • 后续加短信、邮件,不用动 OrderVerticle

七、和 Spring Boot 微服务对比一下 ⚔️

维度 Verticle + NeonBee Spring Boot 微服务
通信方式 EventBus(内存级) HTTP / MQ
启动速度 ⚡ 极快 🐢 偏慢
资源占用 🪶 很轻 🧱 较重
架构复杂度 低(少组件) 高(网关、注册中心...)
适合场景 高并发、事件驱动 复杂业务、对外 API

⚠️ 不是说 Spring Boot 不好,而是:

Spring Boot 是"企业级全家桶"
Verticle 是"高性能业务拼装刀"

用错场景,才会痛苦。


八、什么时候我会选 Verticle 架构?🤔

我个人一般在这些情况下用:

  • 网关内部逻辑
  • 推送 / 通知 / 事件处理
  • IM / 实时系统
  • 内部高并发服务

而在这些场景还是 Spring Boot 更合适:

  • 对外 REST API
  • 业务模型复杂
  • 团队 Vert.x 经验不足

九、总结一句话 🧠

NeonBeeDeployable + Verticle 架构,本质是在 JVM 内做"轻量级微服务"

它带来的不是"新技术炫技",而是:

  • 更快
  • 更简单
  • 更少运维成本

如果你现在的系统:

  • 微服务拆得很碎
  • 但大部分服务其实只是转发 / 处理事件

那真的可以试试这一套 💡

【AI作文】

相关推荐
科技小花5 小时前
数据治理平台架构演进观察:AI原生设计如何重构企业数据管理范式
数据库·重构·架构·数据治理·ai-native·ai原生
2501_948114245 小时前
2026年大模型API聚合平台技术评测:企业级接入层的治理演进与星链4SAPI架构观察
大数据·人工智能·gpt·架构·claude
FserSuN6 小时前
LangChain DeepAgent 多 Agent 架构原理学习
架构·langchain
坏孩子的诺亚方舟6 小时前
RTL设计师攻略0_架构与微架构
架构·cpu·面试攻略
智星云算力6 小时前
本地GPU与租用GPU混合部署:混合算力架构搭建指南
人工智能·架构·gpu算力·智星云·gpu租用
熊猫钓鱼>_>8 小时前
从“流程固化“到“意图驱动“:大模型调智能体调Skill架构深度解析
ai·架构·大模型·llm·agent·skill·openclaw
Agent产品评测局9 小时前
互联网行业自动化平台选型,运营全流程提效指南:2026企业级智能体架构与实战全解析
运维·人工智能·ai·chatgpt·架构·自动化
AI成长日志10 小时前
【AI原生开发实战】1.2 传统开发 vs AI原生开发:思维转变与架构差异
服务器·架构·ai-native
戮戮10 小时前
Spring Cloud Gateway 零拷贝参数校验:一种高性能网关架构实践
java·网络·架构·gateway
LONGZETECH10 小时前
汽车故障诊断仿真教学软件【哈弗M6PLUS】:技术架构、功能实现与落地实践
架构·汽车·职业教育·汽车仿真教学软件·汽车故障诊断