构建微服务生态系统:股票经纪模拟器(My Broker B3)

发布: (2026年3月14日 GMT+8 09:46)
3 分钟阅读
原文: Dev.to

Source: Dev.to

大家好!

我将开启一系列文章,记录 My Broker B3 的开发过程。这个个人项目运用了高级软件工程概念、分布式系统以及消息传递技术,模拟真实的证券经纪业务。主要目标是构建一个能够应对 数据一致性低延迟异步通信 等挑战的生态系统,并集成一个简化的 撮合引擎

系统架构

项目采用微服务方式,使用混合技术栈以发挥各生态系统的优势:

  • 核心后端 (Java/Spring Boot 3) – 提供订单 (broker-order-api)、钱包 (broker-wallet-api) 与资产管理 (broker-asset-api) API。
  • 行情数据 (Python) – 一个集成器 (broker-market-data-api),通过定时任务管理行情数据的采集。
  • 撮合引擎 (Java) – 一个 B3 模拟器 (b3-matching-engine-api),处理经纪商发送的订单执行。

数据流与技术

混合通信策略确保了弹性与可扩展性。

同步 (REST)

用于关键的实时校验,例如在允许发送订单前验证钱包余额。

异步 (事件驱动)

  • Apache Kafka – 充当内部事件总线,分发行情报价和资产相关事件。
  • RabbitMQ – 通过专用队列管理经纪商与 B3 模拟器之间的通信。

持久化与缓存

每个服务使用最适合其用途的数据存储。

技术用例
MySQL / PostgreSQL事务性数据、订单以及钱包历史记录。
MongoDB市场报价历史(时序数据),位于 Market Data API 中。
Redis“热”缓存,用于市场价格,以确保超高速查询。

技术示意图

微服务生态系统技术示意图

接下来有什么?

这篇文章只是 启动篇。后续文章将详细介绍:

  • 基础设施 – 在 AWS(免费层) 上部署所有资源。
  • 消息系统 – 深入探讨 KafkaRabbitMQ 的配置。
  • 技术挑战 – 处理 最终一致性 与撮合引擎的处理逻辑。

欢迎在评论区留下您的反馈或问题!

0 浏览
Back to Blog

相关文章

阅读更多 »